🐿️
CI / CD 入門 2021
はじめに
CI/CDについてなんとなくの理解しかなかったので、調べてまとめてみることにしました。
CI/CD とは
CIとは、Continuous Integration の略で、日本語では「継続的インテグレーション」と呼ばれます。
CDとは Continuous Delivery もしくは Continuous Deplpoyment の略で、日本語では「継続的デリバリー」「継続的デプロイメント」と呼ばれます。
CI/CD が正常に機能すると、アプリケーションへの新しいコード変更が定期的にビルド、テストされ、共通リポジトリに統合されます。コードが変更されるたびに自動でテストが行われるので、テストの実行忘れを防ぐことができます。
CI(継続的インテグレーション)
継続的インテグレーションでは、コミットする度に自動ビルドと自動テストが実行されます。これは、統合ブランチにマージされる前に行われるので、マージするときに発生する可能性のあるコンフリクトを回避できます。
CD(継続的デリバリー)
継続的デリバリーは、継続的インテグレーションの拡張で、ビルドやテストの実行後に自動的にステージング環境にデプロイされます。運用環境へのデプロイは手動で行う必要があります。
CD(継続的デプロイメント)
継続的デプロイメントは、継続的デリバリーの拡張で、本番環境へのデプロイまで自動で行われます。したがって、マージしてしばらくすると、ローカルに開発された機能を本番環境で確認することができます。
CI と CD の違い
CIとCDは、それぞれカバーする範囲が異なります。CIは、コードレベルのテストまでを自動化するのに対し、CDはリリースやデプロイまでを自動化します。
- CIが走るタイミング
- 作業ブランチでpushした時
- Pull Requestを作成した時
- Pull Request作成後にpushした時
- cron時
- 時刻を設定し、定期的に処理を実行させる
- CDが走るタイミング
- Mergeした時
- cron時
- 時刻を設定し、定期的に処理を実行させる
CI/CDツール
CI/CDツールには、以下のものがあります。
CI/CDの導入方法
導入方法に関しては、別の記事で書こうと思います
Discussion