From 0a2e8eb511913facd5b7fc3f509a8235a77570f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20OLIVIER?= <cedric3.olivier@orange.com> Date: Mon, 11 Oct 2021 07:26:49 +0000 Subject: [PATCH] fix: convert environment gcp_key_file content to file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Cédric OLIVIER <cedric3.olivier@orange.com> --- templates/gitlab-ci-gcloud.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/templates/gitlab-ci-gcloud.yml b/templates/gitlab-ci-gcloud.yml index 2c830d7..fddfd05 100644 --- a/templates/gitlab-ci-gcloud.yml +++ b/templates/gitlab-ci-gcloud.yml @@ -79,6 +79,15 @@ stages: fi } + function as_content() { + file_or_content=$1 + if [[ -f ${file_or_content} ]]; then + cat "${file_or_content}" + else + echo "${file_or_content}" + fi + } + function unscope_variables() { _scoped_vars=$(env | awk -F '=' "/^scoped__[a-zA-Z0-9_]+=/ {print \$1}" | sort) if [[ -z "$_scoped_vars" ]]; then return; fi @@ -344,7 +353,8 @@ stages: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_KEY_FILE:-$GCP_KEY_FILE}" 'Missing required GCP key file (JSON)' - - gcloud auth activate-service-account --key-file ${ENV_KEY_FILE:-$GCP_KEY_FILE} + - as_content "${ENV_KEY_FILE:-$GCP_KEY_FILE}" > /tmp/gcp.key + - gcloud auth activate-service-account --key-file /tmp/gcp.key script: - deploy "$ENV_TYPE" "${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "$ENV_PROJECT" artifacts: @@ -373,7 +383,8 @@ stages: - *gcp-scripts - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" - assert_defined "${ENV_KEY_FILE:-$GCP_KEY_FILE}" 'Missing required GCP key file (JSON)' - - gcloud auth activate-service-account --key-file ${ENV_KEY_FILE:-$GCP_KEY_FILE} + - as_content "${ENV_KEY_FILE:-$GCP_KEY_FILE}" > /tmp/gcp.key + - gcloud auth activate-service-account --key-file /tmp/gcp.key script: - delete "$ENV_TYPE" "${ENV_APP_NAME:-${GCP_BASE_APP_NAME}${ENV_APP_SUFFIX}}" "$ENV_PROJECT" environment: -- GitLab