CI/CDとは?
CI/CDとは、ソフトウェア開発の各ステージに、自動化されたワークフローを組み込むことで、テストやリリースの工数を削減し、開発をスムーズにするための開発手法です。
CI/CDは、それぞれ
・CI →Continuous Integration:継続的インテグレーション
・CD→ Continuous Delivery、Continuous Deployment:継続的デリバリー、継続的デプロイメント
の略称です。CI(継続的インテグレーション)は、主にテスト段階において、各モジュールやクラスへのビルド、テストの実行を自動化し、効率よく不具合を見つけるために適しています。CDは、テストを行ったコードを自動でリポジトリにリリースし、本番環境に反映させるために行われます。
CI/CDのメリット
工数削減:マニュアル化された作業を自動化することによって、これまでビルドやテストのために大量に実行していたコマンドを、一括で管理することができます。
リリース加速:リリースの自動化により、ユーザーの元に最新の実装を提供するまでの時間が短縮されます。
テストが簡単になる:テストをマニュアル化することで、バグを見つけたり、修正したりする作業が簡単かつ効率よく行えるようになります。
CI/CDを行えるツール
・Travis CI
・CircleCI
・Jenkins
・github Actions
・AWS:CodeBuild、CodeDeploy、CodePipeline、etc…
などなど
GitHub Actions
GitHub Actionsは、GitHub自前のCI/CDツールです。GitHub Actions登場以前は、外部ツールとgitHubを連携して使用することが多かったため、gitHubだけでCI/CDが完結するこのツールは革命的でした。
GitHub Actionsでは、yml ファイルを編集することでワークフローを管理することができ、また、pushなどをトリガーにアクションを動作させることができます。
参考サイト、YouTube
・https://www.redhat.com/ja/topics/devops/what-is-ci-cd
・https://www.sbbit.jp/article/cont1/81640
・https://youtu.be/TrpmtrXIe-w?si=ubm4DYcs9jsDpb2I