Облачная сборка: подстановки в разделе «подстановки»? - PullRequest
0 голосов
/ 28 июня 2019

2019-07-04: обновление

Завершено с помощью

options:
   env:

Не идеально, так как не допускает переменную на этапах сборки, но, по крайней мере, охвачено окружение.

Проблема

GCP Cloud build не заменяет переменные в секции substitutions.

Есть ли способ применить эти замены?

Пример фрагмента

substitutions:
  _HUGO_VERSION: "0.55.6"
  _HUGO_IMG: gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION

1019 * Expectation * Чтобы $_HUGO_VERSION и $PROJECT_ID были заменены значениями, чтобы получить: _HUGO_IMG=gcr.io/foo/hugo:0.55.6 Фактический

Но значение для _HUGO_IMG взято буквально:

_HUGO_IMG=gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION

1 Ответ

1 голос
/ 29 июня 2019

Спасибо за публикацию этого!

Не могли бы вы опубликовать полный конфиг, когда я пытаюсь это сделать, я получаю сообщение об ошибке = вместо : при объявлении замен.

Вместо этого я вижу следующее:

hugo version: 0.55.6
hugo img: gcr.io//hugo:

Для интерполяции стандартных или пользовательских подстановок я предлагаю вместо этого использовать переменные env

steps:
- id: 'checking sub values'
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - '-c'
  - |
    echo 'hugo version: '${_HUGO_VERSION} # hugo version: 0.55.6
    echo 'hugo img: '${_HUGO_IMG} # hugo img: gcr.io//hugo:
    echo 'env hugo img: '$$HUGO_IMG # env hugo img: 'gcr.io/my-project/hugo:0.55.6'
substitutions:
    _HUGO_VERSION: "0.55.6"
    _HUGO_IMG: 'gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION'
options:
    env:
    - HUGO_IMG='gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION'

Обратите внимание, что переменные env должны использоваться с $$

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...