GithubAction や awsを用いたCICDツールをいろいろやっていくリポジトリ
継続的インテグレーション CI / 継続的デリバリー CD
画像の引用元 : https://www.servicenow.com/jp/products/devops/what-is-cicd.html
CI CDでアプリ開発のステージを一部自動化することで、顧客にアプリケーションを頻繁に提供できる (引用 : redhad)
結果 市場のニーズに常に対応でき、競争力を保つことができる
※本番環境へのデプロイは検証環境でエビデンスを取って、チームでレビューしてから実施すると思われます
デプロイとリリースの違いが気になる方へ 結局デプロイとリリースってどう違うの
実演用endpoint
http://cicdha-webAp-eQSCGIFzwy98-1124916881.ap-northeast-1.elb.amazonaws.com
githubAction で AWS で設定しているCodeDeployを動かしているので、実態はAWSにあると思われる
CI/CD実行 : githubActionで定義 デプロイ設定 : aws codedeploy (cloudformationで管理)
Imageの作成とアプリケーションへの反映は自動で実施される ※検証環境でのデプロイを想定した流れ
ローカル環境でイメージファイルを作成して、アプリケーションを起動します
CI : イメージのビルド、リポジトリへのPush CD : 本番環境へのデプロイ
CICD前
1. イメージ構築環境でGithubリポジトリをclone
2. アプリに変更を加える
3. 変更されたDockerImageを作成
4. ImageをAWS ECR へPush
5. 新規Imageのアプリケーション定義を作成
6. タスク・コンテナ等のアプリケーション実行リソースにデプロイする
CICD後
1. ローカル作業pcでGithubリポジトリをclone
2. アプリに変更を加える
3. 変更をGithub リポジトリ に反映
素早い変更の統合(インテグレーション) と デプロイ を実施することで、市場のニーズに常に対応でき、競争力を保つことができる