From 3a8a0d7f55a95ee9b97d1ac53303d5080c94520a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20B=C3=A9jean?= <nicolas@bejean.fr> Date: Sun, 19 Dec 2021 10:22:25 +0100 Subject: [PATCH] feat: Update CI --- .gitlab-ci.yml | 302 ++++++++++++++++++++++++------------------------- 1 file changed, 151 insertions(+), 151 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 60f24dc..2296a27 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,157 +21,157 @@ cache: paths: - ${TF_ROOT_GKE}/.terraform -#check-gke: -# stage: gke -# tags: -# - docker -# - amd64 -# image: -# name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest -# entrypoint: [""] -# variables: -# TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/gke -# TF_VAR_ec_apikey: $EC_API_KEY -# TF_VAR_project_id: $GCP_PROJECT_ID -# TF_VAR_region: $GCP_REGION -# TF_VAR_vpc_network_name: $GCP_NETWORK_NAME -# TF_VAR_vpc_subnetwork_name: $GCP_SUBNETWORK_NAME -# GCP_SA: $GCP_SA -# before_script: -# - | -# cd $TF_ROOT_GKE -# echo $GCP_SA > gcp-sa.json -# script: -# - | -# gitlab-terraform init -# gitlab-terraform validate -# gitlab-terraform fmt -check -# gitlab-terraform plan -# gitlab-terraform plan-json -# artifacts: -# name: plan -# paths: -# - ${TF_ROOT_GKE}/plan.cache -# reports: -# terraform: ${TF_ROOT_GKE}/plan.json -# -#apply-gke: -# stage: gke -# needs: -# - check-gke -# tags: -# - docker -# - amd64 -# image: -# name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest -# entrypoint: [""] -# variables: -# TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/gke -# TF_VAR_ec_apikey: $EC_API_KEY -# TF_VAR_project_id: $GCP_PROJECT_ID -# TF_VAR_region: $GCP_REGION -# TF_VAR_vpc_network_name: $GCP_NETWORK_NAME -# TF_VAR_vpc_subnetwork_name: $GCP_SUBNETWORK_NAME -# GCP_SA: $GCP_SA -# before_script: -# - | -# cd $TF_ROOT_GKE -# echo $GCP_SA > gcp-sa.json -# script: -# - | -# gitlab-terraform init -# gitlab-terraform apply -auto-approve -# -# -#gcloud-psc: -# stage: psc -# needs: -# - apply-gke -# tags: -# - docker -# - amd64 -# image: -# name: google/cloud-sdk:slim -# entrypoint: [""] -# variables: -# GCP_PROJECT_ID: $GCP_PROJECT_ID -# GCP_SA: $GCP_SA -# GCP_REGION: $GCP_REGION -# GCP_NETWORK_NAME: $GCP_NETWORK_NAME -# GCP_SUBNETWORK_NAME: $GCP_SUBNETWORK_NAME -# GCP_INTERNAL_IP_NAME: $GCP_INTERNAL_IP_NAME -# GCP_PSC_NAME: $GCP_PSC_NAME -# GCP_DNS_ZONE_GKE_ELASTIC: $GCP_DNS_ZONE_GKE_ELASTIC -# EC_SERVICE_ATTACHMENT_URI: $EC_SERVICE_ATTACHMENT_URI -# EC_DNS_ZONE: $EC_DNS_ZONE -# before_script: -# - | -# echo $GCP_SA > gcp-sa.json -# gcloud auth activate-service-account --key-file gcp-sa.json -# echo "Activate Service Account: OK" -# gcloud config set project $GCP_PROJECT_ID -# echo "Set Project: OK" -# cd $GCLOUD_ROOT_PSC -# script: -# - | -# chmod +x ./setting-psc.sh -# ./setting-psc.sh -# artifacts: -# paths: -# - ${CI_PROJECT_DIR}/pscConnectionId.env -# -#check-elastic: -# stage: elastic -# tags: -# - docker -# - amd64 -# needs: -# - gcloud-psc -# image: -# name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest -# entrypoint: [""] -# variables: -# TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/elastic -# TF_VAR_ec_apikey: $EC_API_KEY -# before_script: -# - | -# export TF_VAR_psc_connection_id=$(cat ${CI_PROJECT_DIR}/pscConnectionId.env | grep GCP_PSC_CONNECTION_ID | cut -d = -f2) -# cd $TF_ROOT_ELASTIC -# script: -# - | -# gitlab-terraform init -# gitlab-terraform validate -# gitlab-terraform fmt -check -# gitlab-terraform plan -# gitlab-terraform plan-json -# artifacts: -# name: plan -# paths: -# - ${TF_ROOT_ELASTIC}/plan.cache -# reports: -# terraform: ${TF_ROOT_ELASTIC}/plan.json -# -#apply-elastic: -# stage: elastic -# needs: -# - check-elastic -# tags: -# - docker -# - amd64 -# image: -# name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest -# entrypoint: [""] -# variables: -# TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/elastic -# TF_VAR_ec_apikey: $EC_API_KEY -# before_script: -# - | -# export TF_VAR_psc_connection_id=$(cat ${CI_PROJECT_DIR}/pscConnectionId.env | grep GCP_PSC_CONNECTION_ID | cut -d = -f2) -# cd $TF_ROOT_ELASTIC -# script: -# - | -# gitlab-terraform init -# gitlab-terraform apply -auto-approve +check-gke: + stage: gke + tags: + - docker + - amd64 + image: + name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest + entrypoint: [""] + variables: + TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/gke + TF_VAR_ec_apikey: $EC_API_KEY + TF_VAR_project_id: $GCP_PROJECT_ID + TF_VAR_region: $GCP_REGION + TF_VAR_vpc_network_name: $GCP_NETWORK_NAME + TF_VAR_vpc_subnetwork_name: $GCP_SUBNETWORK_NAME + GCP_SA: $GCP_SA + before_script: + - | + cd $TF_ROOT_GKE + echo $GCP_SA > gcp-sa.json + script: + - | + gitlab-terraform init + gitlab-terraform validate + gitlab-terraform fmt -check + gitlab-terraform plan + gitlab-terraform plan-json + artifacts: + name: plan + paths: + - ${TF_ROOT_GKE}/plan.cache + reports: + terraform: ${TF_ROOT_GKE}/plan.json + +apply-gke: + stage: gke + needs: + - check-gke + tags: + - docker + - amd64 + image: + name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest + entrypoint: [""] + variables: + TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/gke + TF_VAR_ec_apikey: $EC_API_KEY + TF_VAR_project_id: $GCP_PROJECT_ID + TF_VAR_region: $GCP_REGION + TF_VAR_vpc_network_name: $GCP_NETWORK_NAME + TF_VAR_vpc_subnetwork_name: $GCP_SUBNETWORK_NAME + GCP_SA: $GCP_SA + before_script: + - | + cd $TF_ROOT_GKE + echo $GCP_SA > gcp-sa.json + script: + - | + gitlab-terraform init + gitlab-terraform apply -auto-approve + + +gcloud-psc: + stage: psc + needs: + - apply-gke + tags: + - docker + - amd64 + image: + name: google/cloud-sdk:slim + entrypoint: [""] + variables: + GCP_PROJECT_ID: $GCP_PROJECT_ID + GCP_SA: $GCP_SA + GCP_REGION: $GCP_REGION + GCP_NETWORK_NAME: $GCP_NETWORK_NAME + GCP_SUBNETWORK_NAME: $GCP_SUBNETWORK_NAME + GCP_INTERNAL_IP_NAME: $GCP_INTERNAL_IP_NAME + GCP_PSC_NAME: $GCP_PSC_NAME + GCP_DNS_ZONE_GKE_ELASTIC: $GCP_DNS_ZONE_GKE_ELASTIC + EC_SERVICE_ATTACHMENT_URI: $EC_SERVICE_ATTACHMENT_URI + EC_DNS_ZONE: $EC_DNS_ZONE + before_script: + - | + echo $GCP_SA > gcp-sa.json + gcloud auth activate-service-account --key-file gcp-sa.json + echo "Activate Service Account: OK" + gcloud config set project $GCP_PROJECT_ID + echo "Set Project: OK" + cd $GCLOUD_ROOT_PSC + script: + - | + chmod +x ./setting-psc.sh + ./setting-psc.sh + artifacts: + paths: + - ${CI_PROJECT_DIR}/pscConnectionId.env + +check-elastic: + stage: elastic + tags: + - docker + - amd64 + needs: + - gcloud-psc + image: + name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest + entrypoint: [""] + variables: + TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/elastic + TF_VAR_ec_apikey: $EC_API_KEY + before_script: + - | + export TF_VAR_psc_connection_id=$(cat ${CI_PROJECT_DIR}/pscConnectionId.env | grep GCP_PSC_CONNECTION_ID | cut -d = -f2) + cd $TF_ROOT_ELASTIC + script: + - | + gitlab-terraform init + gitlab-terraform validate + gitlab-terraform fmt -check + gitlab-terraform plan + gitlab-terraform plan-json + artifacts: + name: plan + paths: + - ${TF_ROOT_ELASTIC}/plan.cache + reports: + terraform: ${TF_ROOT_ELASTIC}/plan.json + +apply-elastic: + stage: elastic + needs: + - check-elastic + tags: + - docker + - amd64 + image: + name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest + entrypoint: [""] + variables: + TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/elastic + TF_VAR_ec_apikey: $EC_API_KEY + before_script: + - | + export TF_VAR_psc_connection_id=$(cat ${CI_PROJECT_DIR}/pscConnectionId.env | grep GCP_PSC_CONNECTION_ID | cut -d = -f2) + cd $TF_ROOT_ELASTIC + script: + - | + gitlab-terraform init + gitlab-terraform apply -auto-approve destroy-psc: stage: destroy -- GitLab