Member-only story
Understanding the Difference Between CI and CD-Part1
CIとCDの違い(第一章)
今回はCIとCDの違いの違いについての記事をご紹介いたします。長い記事なので2つに分けてお送りします。今回は一回目です。実際に起こりそうな状況を例に出して分かりやすく説明しています。
継続的インテグレーション(CI)および継続的デリバリー(CD)に関する情報はそこら中に溢れています。これらの方法論がどういう役割を担っているのか、そしてそれらがどのように組織に役立つのかを技術用語で説明しているブログ記事もたくさん見られます。しかし、残念ながら、両方の方法論は通常、特定のツールまたはベンダーにさえ関連付けられている場合がほとんどです。社員食堂で、ランチの時間にみんなが話している一般的な会話は次のとおりです。
- 継続的インテグレーション(CI)をチームで使っている?
- もちろん、使っているよ。X toolを使っている。
ここで、秘密をお話しましょう。 継続的インテグレーションと継続的デリバリーはどちらも開発アプローチです。 特定のツールやベンダーにリンクされていません。 両方に役立つツールやソリューション(例えばCodefreshなど)がありますが、実際には、企業はbashスクリプトとPerlのワンライナー(実際には実用的ではありませんが、確かに可能です)を使用してCI / CDを使っています。
したがって、ツールと技術用語を使用してCI / CDを説明するという分かりにくく、一般的な説明方法ではなく、今回は、最も重要なもの、つまり人を使ってCI / CDを説明してみようと思います!
A Story about People — the Dark Ages of Software Integration
アリス、ボブ、チャーリー、デイビッド、エリザベスを紹介します。彼らは全員、SuperBigProjectアプリケーションを構築する企業SoftwareCo Inc.で働いています。 アリス、ボブ、チャーリーは開発者です。 デイビッドはテストエンジニアです。 エリザベスはチームのプロジェクトマネージャーです。
アプリケーションを開発する従来の方法は次のとおりです。
アリス、ボブ、およびチャーリーはそれぞれ、ワークステーションで3つの異なる機能の開発に取り組んでいます。 3人の開発者は、個別の方法でコードを書いてテストします。 それらは、本番環境にマージされる前に数週間または数か月間存在する長期実行機能ブランチを使用します。