このページでは、Canaryリリースのようなカスタムのパイプラインでデプロイをしていきます。
手順は1. シンプルなデプロイとほとんど同じです。 設定ファイルのみ(本質的にはapp.pipecd.yaml
のみ)が異なります。
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-1. アプリケーション一覧ページにアクセスします。 http://localhost:8080
2-2. + ADD
をクリックします.
2-3. 下記の値を入力し、SAVE
->SAVE
をクリックします
Piped
: 構築したPipedPlatform Provider
: プラットフォームApplication
: 1.で設定したアプリケーション
Note
Terraformのデプロイをしている場合、4-3.までスキップしてください。 それ以外のプラットフォームについては、以下の手順に従って、2度デプロイを行います。(最初のデプロイでは、カスタムのパイプラインが使用されないため)
3-1. デプロイメント一覧ページにアクセスします。 http://localhost:8080/deployments
3-2. 新しいデプロイメントが自動で表示され、完了するまで待ちます。
4-1. デプロイした設定ファイルを編集します。(例: imageのtagやサイジングを変更)
4-2. 変更をcommitしてリモートにpushします。
4-3. デプロイメント一覧ページに再度アクセスします。http://localhost:8080/deployments
4-4. しばらくすると、カスタムのパイプラインを用いたデプロイメントが自動で開始されます。
ECSの場合の、Canaryリリースのパイプライン