AWS Copilot で CI/CD 環境を 整備してみる
はじめに
AWS Copilot を使用して構築した ECS の環境に、CI/CD 環境を整備した記録です。
[GitHubにmerge] → [テスト環境へデプロイ] → [手動承認] → [号口環境] へデプロイする CI/CD 環境を作成します🐳
前提
- AWS Copilot で ECS on Fargate 環境が構築済みの状態とします。
※構築時の記事はこちら👇
- AWS Cloud9 上でAWS Copilotを実行しますが、既にGithubと連携済みとします。
参考:AWSのCloud9とGitHubをSSH接続する方法
CI/CD 環境をデプロイする流れ
主に2つのコマンドでコンテナをデプロイできます。各コマンドで対話形式で設定値を記載していきます。
-
copilot pipeline init
:Pipelineの初期化 -
copilot pipeline deploy
:Pipelineをデプロイ
Pipelineの進捗状況はcopilot pipeline show
コマンドで確認できます。
1. copilot pipeline init
:Pipelineの初期化
どんなPipelineを作成したいかを設定します。
copilot/pipelines/{Pipeline name}/
フォルダーにmanifest.yml
とbuildspec.yml
ファイルが作成されます。
manifest.ymlファイルを編集してPipelineの設定変更が可能です。
修正した後は、生成された2つのファイルをgit push
しておきます。
2. copilot pipeline deploy
:Pipelineをデプロイ
コマンドを実行すると、下記のようにコマンド上にURLが表示されます。
赤枠のURLをクリックすると、AWSとGitHubの接続設定の画面に遷移します。
AWSとGitHubの接続ステータスが保留中になっているので、[接続を作成]ボタン をクリック → 次の画面で表示される [保留中の接続を更新]ボタン をクリックします。
すると、GitHubの画面が表示されるため、表示される画面に従って接続許可を行いましょう。
接続ステータスが利用可能の状態になればOKです👌
Pipelineの作成が完成しました😻
[Githubにmerge] → [テスト環境へデプロイ] → [手動承認] → [号口環境] へデプロイするという想定通りの流れで設定ができていることを確認しました。
さいごに
AWS CopilotでECSの構築からCI/CD環境の作成まで行ってみましたが、少ないコマンドでみるみる構築されていくので楽しかったです。
どなたかの参考になれば幸いです。
えみり〜でした|ωΦ)ฅ
Discussion