From 4d5e8f62c3dce6959d19740ce1c8712c937adc98 Mon Sep 17 00:00:00 2001 From: Fabio Formosa Date: Mon, 15 Jul 2024 23:39:51 +0200 Subject: [PATCH] added a google deploy pipeline --- cloudbuild.yaml | 23 ++++++++++++++++++- .../deploy/dev.yaml | 9 ++++++++ .../deploy/pipeline.yaml | 12 ++++++++++ skaffold.yaml | 13 +++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 quartz-manager-parent/quartz-manager-web-showcase/deploy/dev.yaml create mode 100644 quartz-manager-parent/quartz-manager-web-showcase/deploy/pipeline.yaml diff --git a/cloudbuild.yaml b/cloudbuild.yaml index da6117b..a7fedb9 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -14,10 +14,31 @@ steps: sed -i s/_HELM_CHART_VERSION/0.0.0/g ./quartz-manager-parent/quartz-manager-web-showcase/helm/Chart.yaml sed -i s/_HELM_APP_VERSION/$SHORT_SHA/g ./quartz-manager-parent/quartz-manager-web-showcase/helm/Chart.yaml sed -i s/_HELM_CHART_NAME/quartzmanager-standalone/g skaffold.yaml - sed -i s/_HELM_NAMESPACE/quartzmanager/g skaffold.yaml + sed -i s/_HELM_NAMESPACE/quartzmanager-dev/g skaffold.yaml skaffold build --file-output=/workspace/artifacts.json \ --default-repo=${_REGION}-docker.pkg.dev/quartz-manager-test/quartz-manager/quartz-manager-standalone \ --push=true + # Step 2: deploy + - name: 'google/cloud-sdk:latest' + entrypoint: 'sh' + args: + - -xe + - -c + - | + gcloud config set deploy/region ${_REGION} + gcloud deploy apply --file deploy/pipeline.yaml + gcloud deploy apply --file deploy/dev.yaml + gcloud deploy releases create rel-${SHORT_SHA} \ + --delivery-pipeline quartz-manager-standalone-pipeline \ + --description "$(git log -1 --pretty='%s')" \ + --build-artifacts /workspace/artifacts.json \ + --annotations "commit_ui=https://source.cloud.google.com/$PROJECT_ID/quartz-manager-standalone/+/$COMMIT_SHA" +artifacts: + objects: + location: 'gs://$PROJECT_ID-gcdeploy-artifacts/' + paths: + - '/workspace/artifacts.json' + options: logging: CLOUD_LOGGING_ONLY diff --git a/quartz-manager-parent/quartz-manager-web-showcase/deploy/dev.yaml b/quartz-manager-parent/quartz-manager-web-showcase/deploy/dev.yaml new file mode 100644 index 0000000..b401d80 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-web-showcase/deploy/dev.yaml @@ -0,0 +1,9 @@ +apiVersion: deploy.cloud.google.com/v1 +kind: Target +metadata: + name: dev + annotations: {} + labels: {} +description: dev +gke: + cluster: projects/quartz-manager-test/locations/europe-west8/clusters/gke-cluster diff --git a/quartz-manager-parent/quartz-manager-web-showcase/deploy/pipeline.yaml b/quartz-manager-parent/quartz-manager-web-showcase/deploy/pipeline.yaml new file mode 100644 index 0000000..627993d --- /dev/null +++ b/quartz-manager-parent/quartz-manager-web-showcase/deploy/pipeline.yaml @@ -0,0 +1,12 @@ +apiVersion: deploy.cloud.google.com/v1 +kind: DeliveryPipeline +metadata: + name: quartz-manager-pipeline + labels: + app: quartz-manager-standalone +description: quartz-manager-standalone delivery pipeline +serialPipeline: + stages: + - targetId: dev + profiles: + - dev diff --git a/skaffold.yaml b/skaffold.yaml index 241e1b4..1142ff6 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -7,3 +7,16 @@ build: artifacts: - image: quartz-manager-standalone context: ./ +profiles: + - name: dev + deploy: + helm: + releases: + - name: _HELM_CHART_NAME + createNamespace: true + namespace: _HELM_NAMESPACE + chartPath: quartz-manager-parent/quartz-manager-web-showcase/helm/hello-world +# valuesFiles: +# - helm/envs/dev/values.yaml + setValueTemplates: + image.tag: "_IMAGE_TAG_POLICY"