CI/CDという言葉も色々なところで耳にするが、バズワードになっているのではないだろうかという気もしています。
とっかかりの方を対象に、なるべく簡単にまとめたいと思います。
また、AWSにはCI/CDを実現するための複数のサービスがリリースされていますが、それぞれどのような役割を担っているのか、合わせて整理したいと思います。
インターネット上に同じようなサイトはありますが、一応。
CI/CDの種類
そもそも、CI/CDは、開発からデプロイまでにおける一連のプロセスに関する、自動化についての設計種別になります。
継続的デプロイとかの言葉を耳にされたことがあるかもですが、以下の3種の総称になります。
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
(なので、厳密に言えば、CI/CD/CDや、CI/CDsって表記してもいいようにも思います)
下に行くほどカバーする自動化フェーズが広くなります。
図で表すと以下のようになります。
個人的には、Continuous DeliveryからContinuous Deploymentの心理的ハードルが高い気がします。
CI/CDのツール
CI/CDは上記のようにプロセスのため、ツールは必須ではないですが、現実的にツールを使わないと辛いと思います。
Travics CI、Circle CIやJenkins、GitLabいろいろあり、それぞれに特徴がありますので、要件から選んでもらえれば。
機会があれば、別の投稿にてツールの紹介もしたいと思います。