
194
ストの作成やマージなどのアクションをトリガーとしたCI実行を容易
に実現可能ですので、積極的に利用を検討するとよいでしょう。
CIに多くのタスクを詰め込むとそれだけ処理時間が長くなり、待ち
時間によって開発効率が下がってしまうリスクがあります。そのため、
どのタイミングでどのタスクを実行するかは検討が必要です。たとえ
ば、実行時間が長くなりがちなE2Eテストは開発ブランチやリリース
ブランチへのマージタイミングのみで実行したり、夜間にスケジューリ
ングして実行したりという具合にビルド戦略を立てます。
CD
CD(Continuous Delivery、継続的デリバリー。またはContinuous
Deployment、継続的デプロイメント)はリリースプロセスを自動化す
るプラクティスです。いつでも環境へのデプロイが可能な状態を準備し
ておき、最終的なデプロイは手動で行う場合は継続的デリバリー、デプ
ロイまでをすべて自動で行う場合は継続的デプロイメントと区別されま
す。
CDの実現にはDocker
※ 27
やKubernetes
※ 28
のようなコンテナ化技術
や、Terraform
※29
やAnsible
※30
のようなIaC(Infrastructure as Code)
技術が重要となります。前者により、テスト済みのコンテナイメージを
レジストリに登録しておくことでコンテナ環境への迅速なデプロイが可
能となります。後者により、デプロイ先のインフラ環境の構築自体の自
動化が可能となります。