2. カスタムのパイプラインでデプロイ
August 9, 2024 · View on GitHub
このページでは、Canaryリリースのようなカスタムのパイプラインでデプロイをしていきます。
手順は1. シンプルなデプロイとほとんど同じです。 設定ファイルのみ(本質的にはapp.pipecd.yamlのみ)が異なります。
1. 設定ファイルの準備
1-1. 設定ファイルを以下のように編集します。cloneしたリポジトリの/src/deploy/配下の1つのプラットフォームを使用してください。
- Kubernetes向け:
- helloworldサービスをCanaryリリースしていきます。
kubernetes/canary/を使用してください。編集は不要です。
- Google Cloud Run向け:
- helloworldサービスをCanaryリリースしていきます。
cloudrun/canary/を使用してください。編集は不要です。
- Amazon ECS向け:
- nginxのサービスをCanaryリリースしていきます。
ecs/canary/を以下のように編集してください。app.pipecd.yaml: primaryとcanaryのtargetGroupArnを編集servicedef.yaml:/src/deploy/ecs/simple/servicedef.yamlからコピーして、serviceNameを変更taskdef.yaml:/src/deploy/ecs/simple/taskdef.yamlからコピーして、familyを変更
- AWS Lambda向け:
- あなたのイメージを利用して関数をCanaryリリースしていきます。
lambda/canary/を以下のように編集してください。function.yaml:/src/deploy/lambda/simple/function.yamlからコピーして、nameを変更
- Terraform向け:
- ファイルをローカルに生成していきます。plan->承認->applyのパイプラインを構築します。
terraform/plan-approval-apply/の下記の箇所を編集してください。main.tf:path,filename
1-2. 変更をcommitして、リモートにpushします。(Kubernetes, CloudRunは編集不要なので、commit, pushは不要です。)
2. アプリケーションの登録
2-1. アプリケーション一覧ページにアクセスします。 http://localhost:8080
2-2. + ADDをクリックします.
2-3. 下記の値を入力し、SAVE->SAVEをクリックします
Piped: 構築したPipedPlatform Provider: プラットフォームApplication: 1.で設定したアプリケーション
3. Watch the first deployment
Note
Terraformのデプロイをしている場合、4-3.までスキップしてください。 それ以外のプラットフォームについては、以下の手順に従って、2度デプロイを行います。(最初のデプロイでは、カスタムのパイプラインが使用されないため)
3-1. デプロイメント一覧ページにアクセスします。 http://localhost:8080/deployments
3-2. 新しいデプロイメントが自動で表示され、完了するまで待ちます。
4. 設定を編集し、カスタムのパイプラインでデプロイします
4-1. デプロイした設定ファイルを編集します。(例: imageのtagやサイジングを変更)
4-2. 変更をcommitしてリモートにpushします。
4-3. デプロイメント一覧ページに再度アクセスします。http://localhost:8080/deployments
4-4. しばらくすると、カスタムのパイプラインを用いたデプロイメントが自動で開始されます。

ECSの場合の、Canaryリリースのパイプライン