Skip to content

Latest commit

 

History

History
80 lines (53 loc) · 4.27 KB

02-pipeline.md

File metadata and controls

80 lines (53 loc) · 4.27 KB

2. カスタムのパイプラインでデプロイ

このページでは、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: 構築したPiped
  • Platform 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. しばらくすると、カスタムのパイプラインを用いたデプロイメントが自動で開始されます。

deployment-pipeline

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

関連情報


次: 次のステップ

< 戻る: 1. Deploy Simply