デプロイメントパイプライン
2013年5月30日
自動ビルド/テスト環境の課題の1つは、ビルドを高速化して素早くフィードバックを得たいのに対し、包括的なテストを実行するには長い時間がかかることです。デプロイメントパイプラインは、ビルドを段階に分けることでこの問題に対処するための方法です。各段階では、通常は追加の時間のかかる工程で、徐々に確度が高まります。初期段階の工程では、最も多くの問題を検出して迅速にフィードバックを得られる一方、後段の段階では低速でさらに徹底したテストが行われます。デプロイメントパイプラインは継続的デリバリーの重要な部分です。
通常、デプロイメントパイプラインの最初の段階ではコンパイルが行われ、後段の段階向けのバイナリが提供されます。後段の段階では手動チェック、つまり自動化できないテストなどが含まれる場合があります。各段階は自動化することも、手動承認が必要になるようにすることもできます。また、ビルドを高速化するために複数のマシンで並列化することもできます。本番環境へのデプロイは、通常パイプラインの最終段階です。
デプロイメントパイプラインのより広範な仕事は、本番環境で問題が発生する可能性のある変更を検出することです。これには、パフォーマンス、セキュリティ、使い勝手の問題などが含まれます。デプロイメントパイプラインは、ソフトウェアの提供に関わるさまざまなグループ間の共同作業を可能にし、システム内の変更フローと徹底した監査証跡を全員に可視化する必要があります。
継続的デリバリーを導入する良い方法は、現在のデリバリープロセスをデプロイメントパイプラインとしてモデル化し、次にその中でボトルネック、自動化の機会、コラボレーションポイントを検討することです。
継続的デリバリーの書籍の第5章で詳細を参照できます。無料ダウンロードも可能。