Как заставить Google Cloud Build правильно подставлять значения, когда он реагирует на триггер GitHub? - PullRequest
0 голосов
/ 20 сентября 2018

Проблема

Триггер GitHub, настроенный в Google Cloud Build, фактически не заменяет сконфигурированные значения во время работы Build ( cloudbuild.yaml )

Thisтакое конфигурация Google Cloud Build

cloudbuild.yaml

steps:
- name: 'gcr.io/cloud-builders/gcloud'
  id: 'decrypt .npmrc'
  args:
  - kms
  - decrypt
  - --ciphertext-file=npmrc.enc
  - --plaintext-file=/root/.npmrc
  - --location=global
  - --keyring=my-keyring
  - --key=npm-key
  - --project=${_CLOUD_KMS_PROJECT}
  volumes:
    - name: 'home'
      path: /root/
- name: 'gcr.io/cloud-builders/npm'
  id: 'install'
  args: ['install']
  env:
  - HOME=/root/
  volumes:
  - name: 'home'
    path: /root/
- name: 'gcr.io/cloud-builders/npm'
  id: 'test'
  args: ['run', 'test']
- name: gcr.io/$PROJECT_ID/skaffold:alpha
  id: 'deploy'
  args: ['run', '-f=${_SKAFFOLD_FILE}']
  env:
  - CLOUDSDK_COMPUTE_ZONE=${_CLOUDSDK_COMPUTE_ZONE}
  - CLOUDSDK_CONTAINER_CLUSTER=${_CLOUDSDK_CONTAINER_CLUSTER}
substitutions:
    _SKAFFOLD_FILE: dummy.yaml
    _CLOUDSDK_COMPUTE_ZONE: us-west1-a
    _CLOUDSDK_CONTAINER_CLUSTER: dummy
timeout: 1000s

Любопытно, что при запуске сборки с помощью вызова gcloud SDK это работает, например:

gcloud builds submit --config=cloudbuild.yaml --substitutions=_SKAFFOLD_FILE=skaffold.yaml,_CLOUDSDK_COMPUTE_ZONE=us-west1-a,_CLOUDSDK_CONTAINER_CLUSTER=skaffold .

Еще немного контекста

Панель мониторинга Cloud Build (img)

Настройка триггера с подстановками (img)

Отсутствуют подстановки в истории сборки из запущенной сборки (img)

В отличие от: Правильно подставленные значения при запуске gcloud builds submit (img)

...