継続的デプロイメント
〜最短時間でプロダクトを顧客に届ける〜
継続的デプロイメントとは
すべての変更を自動で本番環境へデプロイメントすることです。
なぜ継続的デプロイメントをするのか
本番環境へのデプロイメントは大変な作業であるため、
自動化し、頻繁に実施することでリスクを減らす目的があります。
どうやっておこなうのか
前提条件
継続的インテグレーション、継続的デリバリーで実績を積んでからやりましょう
やり方はシンプルで、効果も高いプラクティスですが、
かなり危険性が高いプラクティスです。
品質の高い自動テストが存在しないと不具合だらけのプロダクトが本番環境にデプロイされることになります。
また、会社のルールとして責任者による許可のない修正のデプロイが許容されているかを確認してから行いましょう。
やり方
継続的インテグレーションのパイプラインの後に「継続的デプロイメント」のパイプラインを構築します。
継続的インテグレーションツールは基本的に「継続的デプロイメント」もできるようになっているため、
同じツールを使うのが、複雑にならずに良いと思います。
注意点
すぐに差し戻しできるような仕組みを用意しておく
リリース後に問題が発生した場合、すぐに復旧が可能なように差し戻しの仕組みを導入しておくことをおすすめします。
品質の高い自動テストがあるとはいえ、完璧なテストはありえません。
何らかの問題が発生した場合は、すぐに元の状態に戻せるようにしておきましょう。
そのための工夫としては
ブルー・グリーンデプロイメントやカナリアリリースなどがあるので興味のある方は調べてみてください。
参考資料
さいごに
文章の改善のため、フィードバックがありましたら、こちらからお願いいたします。