これまでは、
/ピクサベイ/
ストーリー
継続的デリバリーという言葉は、昔から使われていました。
2010年、ジェズ・ハンブルとデヴィッド・ファーリーは
この本の出版後、このアプローチは人気を博し始め、わずか数年でほぼ広く受け入れられるようになりました。 によると
現在でも、このアプローチは最も人気のあるアプローチの 2018 つです。 IT コミュニティ DevOps と Jenkins コミュニティが参加した XNUMX 年の調査によると、
継続的デリバリーはどのように機能しますか?
CD の基礎は、コードを展開できる状態にあることです。 このタスクを達成するには、ソフトウェアのリリース準備プロセスの自動化が使用されます。 これはさまざまな開発環境で標準となるべきであり、弱点を迅速に見つけて最適化するのに役立ちます。 たとえば、テストを高速化します。
継続的デリバリー プロセスの例は次のようになります。
継続的インテグレーションのアプローチが最初の XNUMX つの段階の自動化を担当する場合、継続的デリバリーは次の XNUMX つの段階を担当します。 プロセスの安定性は、とりわけシステムによって確保されます。
このプロセスには次の要件が課されます。
- 運用環境への移行の準備状況および即時リリースの準備状況に関する情報の入手可能性 (CD ツールによりコードがテストされ、リリースでの変更の影響を評価できるようになります)。
- 最終製品に対する全体的な責任。 製品チーム (マネージャー、開発者、テスター) は、自分の責任分野だけでなく、結果についても考えます (結果は、製品のユーザーが利用できる実用的なリリースになります)。
CDでは通常使用されます
メリットは何ですか
継続的デリバリーはコードのデプロイメントを簡素化するのに役立ち、生産性にプラスの影響を与え、従業員の燃え尽き症候群の可能性を減らします。 最終的に、これにより全体的な開発コストが削減されます。 たとえば、CD は HP チームの XNUMX つを支援しました。
さらに、2016 年の調査によると (28 ページ)
もう XNUMX つの利点は、リリースの加速です。 フィンランドの開発スタジオでの継続的デリバリー
潜在的な困難
最初の主な問題は、使い慣れたプロセスを再構築する必要があることです。 新しいアプローチの利点を示すには、最も労働集約的なアプリケーションから始めて、徐々に CD に切り替える価値があります。
XNUMX 番目の潜在的な問題は、多数のコード分岐があることです。 「分岐」の結果、頻繁に競合が発生し、さらに大量の時間が失われます。 考えられる解決策 - アプローチ
特に、一部の企業では、テストに時間がかかりすぎるという主な問題が発生します。 多くの場合、テスト結果は手動で分析する必要がありますが、考えられる解決策は、CD 実装の初期段階でテストを並列化することです。
また、新しいツールを使用できるように従業員を訓練する必要があります。事前の教育プログラムにより、開発者の労力と時間を節約できます。
ツール
継続的デリバリー用のオープンツールをいくつか紹介します。
GoCD — Java および JRuby on Rails の継続的デリバリー用サーバー。 アプリケーション配信プロセス全体 (ビルド、テスト、リリース) を制御できます。 このツールは、Apache 2.0 ライセンスに基づいて配布されます。 公式ウェブサイトで見つけることができますセットアップガイド .カピストラーノ — Ruby、Java、または PHP でアプリケーションのデプロイメントを自動化するスクリプトを作成するためのフレームワーク。 Capistrano は、SSH 経由でリモート マシンに接続することで、リモート マシン上でコマンドを実行できます。 Integrity CI サーバーなどの他の継続的統合および配信ツールと連携します。受け台 は、アプリケーション開発サイクル全体を自動化するマルチプラットフォーム ツールです。 Gradle は Java、Python、C/C++、Scala などで動作します。Eclipse、IntelliJ、Jenkins との統合があります。ドローン - Go 言語の CD プラットフォーム。 ドローンはオンプレミスまたはクラウドに導入できます。 このツールはコンテナー上に構築されており、YAML ファイルを使用してコンテナーを管理します。スピネーカー — マルチクラウド システムでの継続的なコード配信のためのプラットフォーム。 Netflix によって開発されたこのツールの開発には、Google のエンジニアが大きな役割を果たしました。 インストール手順公式ウェブサイトで見つけてください .
当社の企業ブログの内容:
出所: habr.com