Импортируйте файл конфигурации в конфигурацию yaml Google Cloud Build, чтобы присвоить значения - PullRequest
0 голосов
/ 29 мая 2020

Раньше у меня был make-файл, содержащий команды для docker сборки и docker запуска. У меня также есть файл конфигурации, который импортируется make-файлом, и в нем есть несколько значений переменных. Затем я использую флаг build-arg для присвоения значений переменным, которые используются в файле dockerfile и моем коде.

Теперь я хочу переключиться на Google Cloud Build и использовать конфигурацию yaml. Я знаю структуру файла конфигурации yaml и все еще могу использовать флаг build-arg. Однако могу ли я по-прежнему импортировать файл конфигурации и назначать значения переменных, как это было раньше?

1 Ответ

1 голос
/ 30 мая 2020

Вы поделились небольшой информацией о текущем процессе, но я постараюсь дать вам несколько советов.

Во-первых, вы можете импортировать свой файл. Я не знаю, где он, но если он находится в Google Cloud Storage, вы можете это сделать

step:
  - name: gcr.io/cloud-builders/gcloud:latest
    entrypoint: "gsutil"
    args: ["cp","gs://yourbuket/config.file", "/workspace/config.file"]

Тогда, и это скучная вещь Cloud Build, вы не можете определить глобальную переменную среды внутри кода (я имею в виду динамически) и для всех шагов. Вы должны делать это шаг за шагом, например, вот так

step:
  ....
  - name: gcr.io/cloud-builders/gcloud:latest
    entrypoint: "bash"
    args:
      - "-c"
      - |
        # Add it in the environment
        export MY_VAR=$(grep MY_VAR /workspace/config.file | cut -d'=' -f2)

Здесь я предположил, что формат файла конфигурации key=value

Если вам нужно добавьте его в Docker Build, вы можете сделать то же самое с параметром -e. Что касается вашего кода, я не знаю, как вы его передаете.

...