CI、CDとCD
私たちは、現代のソフトウェア・コンパイラとリリースプロセスについて語るとき、しばしばフレーズ頭字語のCIやCDを聞きます。CIは、理解しやすい継続的インテグレーションです。CDには、コードの両方の持続的送達を意味することができます。しかし、コードは、連続展開として解釈することができます。CIやCDだけでなく、非常に異なるとの間に多くの類似した部分があります。ここでは、それらすべての相違点との接続をご紹介します。
継続的インテグレーション(継続的インテグレーション)
継続的な統合環境では、開発者が頻繁にトランクにコードを提出します。これらの新しい提出メインラインへの最後の合併前に、我々は、コンパイルとする必要があり、自動化テストの流れを検証します。これは、以前に基づいて行われます
継続的インテグレーションプロセスは非常に真剣に品質問題のメインラインの合併後提出されたすべてを確実にするために、検証テストの結果を自動化し、いくつかの問題が警告を発生する可能性があります。
連続配信(CONTINUOUS DELIVERY)
連続配信は、当社のアプリケーション配信を話すプロセスです。このプロセスは、私たちが提供することを保証するために、可能な限り迅速に達成することができます。これは、自動テストに加えて、我々はまた、自動パブリッシングの流れを持っている必要があり、あなたはどこにでもボタンを経由してからのオンラインアプリケーションの展開を達成できることを意味します。
連続配信することで、あなたは、毎日自分のビジネスに応じて設定することができ、毎週、隔週を、決めることができます。
あなたが本当に連続配信の利点を体験したい場合は、我々は問題が発生した場合、トラブルシューティングを容易にするために、できるだけ早く生産ラインに展開公表小さなバッチを、確認する必要があります。
継続的デプロイ(継続的デプロイ)
我々はより詳細なステップが必要な場合は、その後、それは継続的な展開です。この方法により、任意の改正は、すべての既存の顧客のワークフローを採用し、直接会う予定です。人間の介入なし(ノープッシュボタンの配置)、ビルドが、それは、ワークフロー内の製品ラインに配備停止に失敗した場合にのみ変更。
もはや存在しないため、継続的な展開は、我々は顧客とのフィードバックループを加速することができますが、チームに圧力をかけるだろう、非常に良い方法である「リリース日」でした。開発者はソフトウェアの構築に焦点を当てることができ、彼らはラインでの作業を終えた後、彼らは数分で自分の変更を参照してください。開発者がメインブランチで合併を提出したときに、基本的に、ブランチは、構築、テスト、およびすべてがうまくいけば、その後、本番環境にデプロイされます。
CI CDとCDを組み合わせ?
私が言ったように当然のことながら、彼らは生産環境の各部分に近いです。あなたはあなた自身の継続的な統合環境を構築することができ、その後に適応するチームたら、あなたは連続配信ストリームを追加することができ、そして最後に、あなたがワークフロー全体の継続的な展開に流れる追加することができます。
例えばCI、CDおよびCDライン
最後に、そうする価値がありますか?
継続的インテグレーション:
あなたが持っている必要な条件は何ですか。
- あなたのチームは、それぞれの新しい機能、コードの改良、バグ修正のために必要とする、または自動化されたテストケースを作成します。
- あなたはそれがそれぞれの新しい提出用コードの提出、自動テストを監視することができ、継続的インテグレーションサーバを必要としています。
- 研究開発チームは、1日に少なくとも1回提出し、できるだけ早くコードを提出する必要があります。
あなたはそれが何を得ることができますか?:
- あなたは、問題のいくつかは、配信生産に提出される避けるために、自動テストを通じて先に回帰テストの結果を得ることができます
- 合併の始まりは、すべての問題が回避されている必要がありますので、公開されたコンパイルは、容易になるだろう
- 素早く構築することができますR&Dを減らすために、スイッチングの問題はすぐに次を開始する前にタスクを解決することができ、メッセージの取得に失敗しました。
- 大幅にテストのコストを削減する - あなたのCIサーバーは数秒で数百のテストを実行することができます。
- コストをテストするためにあなたのQAチームは大幅に上記の時間に削減されます、それは、上記の品質文化の向上に、より焦点となります。
連続配信
あなたは何が必要ですか?:
- あなたは強いを持っている必要がありますし、あなたのコードのニーズを満たすために、テスト項目の十分な数の統合コンポーネントを持続しました
- 展開のニーズを自動化。マニュアルトリガが、一度始めた展開、人間の介入することはできません。
- あなたのチームは、製品ラインには影響を与えない機能モジュールを完了していない、スイッチの特性を受け入れる必要があるかもしれません。
あなたは何を得ることができますか?:
- 面倒な展開はありません。あなたのチームはリリースを準備するために数日を費やす必要はありません。
- あなたは、このように顧客とのフィードバックループを加速し、より早くお届けすることができます。
- 小さな変化に対応しやすい、反復加速
継続的デプロイ
あなたは持っている必要があります。
- R&Dチームは、より完璧なアイデアをテストしました。堅牢性試験ユニットは、直接あなたの配信の品質を決定します。
- あなたの文書と一貫する周波数の展開。
- あなたが他の部門と通信できることを確認するために、主要な変更プロセスを公開する本質的な部分になるための署名(サポート、マーケティング、広報...)コーディネート。
何を達成することができますか?:
- あなたが停止し、リリースを待つ必要はありませんので、より高速な周波数を公開。すべての提出は、自動的にリリースストリームをトリガーします。
- 少量、リスク低減にリリースされ、見つかった場合は、問題を簡単に固定することができます。
- お客様は、むしろ毎年、毎月または四半期、あるいはより、当社の継続的な改善とアップグレードで毎日見ることができます。
前述のように、あなたは継続的インテグレーション、連続配信と連続展開を使用することができます。どのようにあなたのニーズとビジネスの状況によって異なります。あなただけのプロジェクトを開始しないと、何の顧客されている場合、あなたはこれらのワークフローを作成するために行くことができ、それは、これらの3つの側面を達成するために最善であると同時に、彼らはあなたのプロジェクトの反復および需要の伸びにイテレーション。すでに生産プロジェクトを持っている場合は、それらを達成するために段階的にステップバイステップすることができます。
オリジナルリンクします。http://www.ttlsa.com/news/ci-cd-cd/