背景:継続的デリバリーとは

先ほど、継続的インテグレーション(CI)について説明しました。 継続的デリバリーを続行します。 これは、ソフトウェア開発方法のセットです。 コードを展開する準備ができていることを確認するのに役立ちます。





/ Pixia / bluebudgie / PL



物語



継続的配信の組み合わせは、2001年の基本原則のリストの冒頭にあるアジャイルマニフェストで見ることができます。



2010年、Jez HumbleとDavid FarleyはContinuous Deliveryをリリースしました。 著者によると、CDは継続的インテグレーションのアプローチを補完し、展開のためのコードの準備を容易にします。



この本が出版されてから、このアプローチは人気を博し始め、わずか数年でほぼ一般的に受け入れられるようになりました。 2014年の600人以上の開発者とITマネージャーの調査によると、技術マネージャーの97%とプログラマーの84%が継続的デリバリーに精通していた。



現在、このアプローチは最も人気のある方法の1つです。 DevOpsとJenkins CommunityのITコミュニティに関する2018年の調査によると、1,000人を超える回答者の半数がそれを使用しています。



継続的配信の仕組み



CDの基本は、展開のためのコードの準備です。 このタスクを達成するために、リリース用のソフトウェアを準備するプロセスの自動化が使用されます。 さまざまな開発環境の標準にする必要があります。これにより、短所をすばやく見つけて最適化できます。 たとえば、テストを高速化します。



継続的配信プロセスの例は次のとおりです。







継続的インテグレーションのアプローチが最初の2つの段階の自動化を担当する場合、継続的デリバリーは次の2つの段階を担当します。 特に、 構成管理システムにより、プロセスの安定性が確保されます 。 インフラストラクチャ、データベース、および依存関係の変化を監視します。 展開自体は自動化することも、手動で実行することもできます。



このプロセスには次の要件があります。





通常、CDはコードレビューを使用し、 ダークラウンチングの原理を使用して顧客の意見を収集します。 最初に、少数のユーザー向けに新機能がリリースされます。製品のユーザーエクスペリエンスは、内部テスト中に気付かなかった欠陥やバグを見つけるのに役立ちます。



利点は何ですか



継続的デリバリーは、コードの展開を簡素化し、生産性にプラスの効果をもたらし、従業員が燃え尽きる可能性を減らします。 最終的に、これにより全体的な開発コストが削減されます。 たとえば、CDは、HPチームの1人がこのようなコストを40% 削減するのに役立ちました。



さらに、2016年の調査( ドキュメントの 28ページ)によると、CDを導入した企業は、このアプローチを使用しない企業よりも情報セキュリティに関する問題を50%早く解決しています。 ある程度まで、この違いはプロセス自動化ツールの作業によって説明できます。



もう1つのプラスは、リリースリリースの加速です。 フィンランドの開発スタジオでは、継続的な配信によりコードアセンブリの速度が25%向上しました。



潜在的な困難



最初の主な問題は、使い慣れたプロセスを再構築する必要があることです。 新しいアプローチの利点を示すには、最も労働集約的なアプリケーションではなく、徐々にCDに切り替える必要があります。



2番目の潜在的な問題は、多数のコード分岐です。 「分岐」の結果は、頻繁な衝突とその後の大量の損失です。 可能な解決策は、 ブランチなしアプローチです。



特に、一部の企業では、テストで主な問題が発生します-時間がかかりすぎます。 多くの場合、テスト結果は手動で分析する必要がありますが、CD実装の初期段階でのテストの並列化が解決策となる場合があります。



また、新しいツールを使用するように従業員をトレーニングする必要があります。予備教育プログラムにより、開発者の時間と労力が節約されます。





/ Flickr / h.ger1969 / CC BY-SA



ツール



継続的デリバリーのためのいくつかのオープンツールを以下に示します。





企業ブログで読むべきもの:





All Articles