Loading templates/gitlab-ci-gcloud.yml +15 −26 Original line number Diff line number Diff line Loading @@ -275,10 +275,9 @@ stages: # Google Cloud Authentication function gcp_auth() { gcp_key_file="$1" oidc_provider="$2" oidc_account="$3" gcp_key_file=${ENV_KEY_FILE:-$GCP_KEY_FILE} oidc_provider=${ENV_OIDC_PROVIDER:-$GCP_OIDC_PROVIDER} oidc_account=${ENV_OIDC_ACCOUNT:-$GCP_OIDC_ACCOUNT} if [[ "$oidc_provider" ]] then # Use Workload Identity Federation to authenticate Loading @@ -300,13 +299,12 @@ stages: fi } # application deployment function function deploy() { export environment_type=$1 export environment_name=$2 export gcp_project_id=$3 environment_url=$4 function gcp_deploy() { export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}} export gcp_project_id=$ENV_PROJECT environment_url=${ENV_URL:-${GCP_ENVIRONMENT_URL:-$ENV_URL_LEGACY}} # backwards compatibility export env=$environment_type Loading Loading @@ -353,10 +351,10 @@ stages: } # environment cleanup function function delete() { export environment_type=$1 export environment_name=$2 export gcp_project_id=$3 function gcp_delete() { export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}} export gcp_project_id=$ENV_PROJECT # backwards compatibility export env=$environment_type Loading @@ -379,7 +377,6 @@ stages: fi } # export tool functions (might be used in after_script) export -f log_info log_warn log_error assert_defined awkenvsubst Loading @@ -398,6 +395,7 @@ stages: before_script: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - gcp_auth # Deploy job prototype # Can be extended to define a concrete environment Loading @@ -413,13 +411,8 @@ stages: stage: deploy variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - gcp_auth "${ENV_KEY_FILE:-$GCP_KEY_FILE}" "${ENV_OIDC_PROVIDER:-$GCP_OIDC_PROVIDER}" "${ENV_OIDC_ACCOUNT:-$GCP_OIDC_ACCOUNT}" script: - deploy "$ENV_TYPE" "${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "$ENV_PROJECT" "${ENV_URL:-${GCP_ENVIRONMENT_URL:-$ENV_URL_LEGACY}}" - gcp_deploy artifacts: name: "$ENV_TYPE env url for $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" paths: Loading @@ -444,12 +437,8 @@ stages: dependencies: [] variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - gcp_auth "${ENV_KEY_FILE:-$GCP_KEY_FILE}" "${ENV_OIDC_PROVIDER:-$GCP_OIDC_PROVIDER}" "${ENV_OIDC_ACCOUNT:-$GCP_OIDC_ACCOUNT}" script: - delete "$ENV_TYPE" "${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "$ENV_PROJECT" - gcp_delete environment: action: stop Loading Loading
templates/gitlab-ci-gcloud.yml +15 −26 Original line number Diff line number Diff line Loading @@ -275,10 +275,9 @@ stages: # Google Cloud Authentication function gcp_auth() { gcp_key_file="$1" oidc_provider="$2" oidc_account="$3" gcp_key_file=${ENV_KEY_FILE:-$GCP_KEY_FILE} oidc_provider=${ENV_OIDC_PROVIDER:-$GCP_OIDC_PROVIDER} oidc_account=${ENV_OIDC_ACCOUNT:-$GCP_OIDC_ACCOUNT} if [[ "$oidc_provider" ]] then # Use Workload Identity Federation to authenticate Loading @@ -300,13 +299,12 @@ stages: fi } # application deployment function function deploy() { export environment_type=$1 export environment_name=$2 export gcp_project_id=$3 environment_url=$4 function gcp_deploy() { export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}} export gcp_project_id=$ENV_PROJECT environment_url=${ENV_URL:-${GCP_ENVIRONMENT_URL:-$ENV_URL_LEGACY}} # backwards compatibility export env=$environment_type Loading Loading @@ -353,10 +351,10 @@ stages: } # environment cleanup function function delete() { export environment_type=$1 export environment_name=$2 export gcp_project_id=$3 function gcp_delete() { export environment_type=$ENV_TYPE export environment_name=${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}} export gcp_project_id=$ENV_PROJECT # backwards compatibility export env=$environment_type Loading @@ -379,7 +377,6 @@ stages: fi } # export tool functions (might be used in after_script) export -f log_info log_warn log_error assert_defined awkenvsubst Loading @@ -398,6 +395,7 @@ stages: before_script: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - gcp_auth # Deploy job prototype # Can be extended to define a concrete environment Loading @@ -413,13 +411,8 @@ stages: stage: deploy variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - gcp_auth "${ENV_KEY_FILE:-$GCP_KEY_FILE}" "${ENV_OIDC_PROVIDER:-$GCP_OIDC_PROVIDER}" "${ENV_OIDC_ACCOUNT:-$GCP_OIDC_ACCOUNT}" script: - deploy "$ENV_TYPE" "${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "$ENV_PROJECT" "${ENV_URL:-${GCP_ENVIRONMENT_URL:-$ENV_URL_LEGACY}}" - gcp_deploy artifacts: name: "$ENV_TYPE env url for $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG" paths: Loading @@ -444,12 +437,8 @@ stages: dependencies: [] variables: ENV_APP_SUFFIX: "-$CI_ENVIRONMENT_SLUG" before_script: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - gcp_auth "${ENV_KEY_FILE:-$GCP_KEY_FILE}" "${ENV_OIDC_PROVIDER:-$GCP_OIDC_PROVIDER}" "${ENV_OIDC_ACCOUNT:-$GCP_OIDC_ACCOUNT}" script: - delete "$ENV_TYPE" "${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "$ENV_PROJECT" - gcp_delete environment: action: stop Loading