mirror of
https://github.com/google/nomulus
synced 2026-07-29 19:42:47 +00:00
101 lines
3.4 KiB
YAML
101 lines
3.4 KiB
YAML
apiVersion: deploy.cloud.google.com/v1
|
|
kind: DeliveryPipeline
|
|
metadata:
|
|
name: deploy-nomulus
|
|
description: deploy-nomulus is a Cloud native replacement for Spinnaker that enables
|
|
gradual rollouts and SLA-based canary analysis for Nomulus.
|
|
serialPipeline:
|
|
stages:
|
|
- targetId: crash
|
|
strategy:
|
|
canary:
|
|
customCanaryDeployment:
|
|
phaseConfigs:
|
|
- phaseId: "canary-1"
|
|
profiles: ["crash-partial-phase-1"]
|
|
percentage: 10
|
|
analysis:
|
|
# 10 minutes.
|
|
duration: 600s
|
|
googleCloud:
|
|
alertPolicyChecks:
|
|
crashPartialDeploymentAlertPolicyChecks
|
|
- phaseId: "canary-5"
|
|
profiles: ["crash-partial-phase-5"]
|
|
percentage: 50
|
|
analysis:
|
|
# 10 minutes.
|
|
duration: 600s
|
|
googleCloud:
|
|
alertPolicyChecks:
|
|
crashPartialDeploymentAlertPolicyChecks
|
|
- phaseId: "stable"
|
|
profiles: ["crash"]
|
|
percentage: 100
|
|
postdeploy:
|
|
tasks:
|
|
- type: container
|
|
image: gcr.io/google.com/cloudsdktool/google-cloud-cli:stable
|
|
env:
|
|
DEPLOYED_IMAGE: ${{ deploy_params['deployed_image'] }}
|
|
BASE_IMAGE: ${{ deploy_params['base_image'] }}
|
|
TARGET_ID: ${{ target.id }}
|
|
command: ["/bin/bash"]
|
|
args:
|
|
- "-c"
|
|
- |
|
|
gcloud artifacts docker tags add $DEPLOYED_IMAGE \
|
|
${BASE_IMAGE}:live-cd-${TARGET_ID}
|
|
analysis:
|
|
# 10 minutes.
|
|
duration: 600s
|
|
googleCloud:
|
|
alertPolicyChecks:
|
|
crashStableDeploymentAlertPolicyChecks
|
|
- targetId: sandbox
|
|
strategy:
|
|
canary:
|
|
customCanaryDeployment:
|
|
phaseConfigs:
|
|
- phaseId: "canary-1"
|
|
profiles: ["sandbox-partial-phase-1"]
|
|
percentage: 10
|
|
analysis:
|
|
# 10 minutes.
|
|
duration: 600s
|
|
googleCloud:
|
|
alertPolicyChecks:
|
|
sandboxPartialDeploymentAlertPolicyChecks
|
|
- phaseId: "canary-5"
|
|
profiles: ["sandbox-partial-phase-5"]
|
|
percentage: 50
|
|
analysis:
|
|
# 10 minutes.
|
|
duration: 600s
|
|
googleCloud:
|
|
alertPolicyChecks:
|
|
sandboxPartialDeploymentAlertPolicyChecks
|
|
- phaseId: "stable"
|
|
profiles: ["sandbox"]
|
|
percentage: 100
|
|
postdeploy:
|
|
tasks:
|
|
- type: container
|
|
image: gcr.io/google.com/cloudsdktool/google-cloud-cli:stable
|
|
env:
|
|
DEPLOYED_IMAGE: ${{ deploy_params['deployed_image'] }}
|
|
BASE_IMAGE: ${{ deploy_params['base_image'] }}
|
|
TARGET_ID: ${{ target.id }}
|
|
command: ["/bin/bash"]
|
|
args:
|
|
- "-c"
|
|
- |
|
|
gcloud artifacts docker tags add $DEPLOYED_IMAGE \
|
|
${BASE_IMAGE}:live-cd-${TARGET_ID}
|
|
analysis:
|
|
# 10 minutes.
|
|
duration: 600s
|
|
googleCloud:
|
|
alertPolicyChecks:
|
|
sandboxStableDeploymentAlertPolicyChecks
|