web-dev-qa-db-ja.com

devopsパイプラインが「コード、ビルド、統合、テスト」と表示されるのはなぜですか。ビルドが2番目であるのはなぜですか。

何かが足りないかもしれませんが、一般的に説明されているワークフローでビルドがコードフェーズに従う理由がわかりません。つまり、その逆ではないですか?コーディング、変更の統合、ビルド、テストを行います。

写真は、例えば以下のサイトにあります:

http://www.bmc.com/blogs/continuous-delivery-continuous-deployment-continuous-integration-whats-difference/

1
John V

私はいくつかのコードを書き、それをビルド(コンパイル)してからテストを実行します。これは私のローカルマシンで発生します。これが、その図の「コードとビルド」フェーズです。

次に、コードを中央リポジトリにチェックインし、リモートビルドとリモートテストをトリガーします。私は今、「自分のマシンで動作するだけではない」テストを実行しました。コードを中央リポジトリに「統合」したので、これが「統合」フェーズです。

ただし、最終的には、これの多くは単なるセマンティクスです。非常に多くのITプロセスが、「コード、コンパイル、テスト、繰り返し」のサイクル全体を「ビルド」と呼んでいます。リンク先の図は、ローカルマシンでのテストを示しておらず、ビルドサーバーでの「ビルド」も示していません。

だから、塩のピンチでそのような図を取り、それらの上で眠りを失わないでください。そのような図を見たときに「何かが足りない」と感じた場合は、作者が使用したものとそのようなものを説明するために、わずかに異なるセマンティックモデルを使用することになります。

9
David Arno

これは、どのようなシステムを考えているか、そしてそのシステムで「統合」が何を意味するかによって異なります。継続的な展開と配信について話すとき、99%のシナリオはWebアプリケーションシステムです。使用する言語とアーキテクチャによっては、最初にビルドする必要のあるコンパイル可能なコンポーネントが存在する場合がありますbefore Webアプリケーションに統合できます。次に、統合ステップには、それらをWebサーバー上の適切な場所に配置することと、統合テストが含まれます。

2
Doc Brown