Я на Symfony, но это не очень важно. У меня есть файл .env, и я хотел бы использовать его переменные в cloudbuild.yaml. Нет способа избежать дублирования ?? Более того, я прочитал эту статью и увидел, что автор использует функцию слияния Yaml со скрытым ключом gitlab , что очень полезно при большом размере файла. Я пытаюсь использовать это, но облачная сборка не нравится, кажется, невозможно использовать пользовательский ключ, как в gitlab-ci.yaml. Любая идея?
В сборке нам нужны переменные env и файл конфигурации generi c, чтобы избежать ручного изменения большого количества значений. Поэтому я хотел бы использовать скрытые ключи в cloudbuild.yaml, потому что мне нужно использовать функцию слияния Yaml, чтобы избежать дублирования кода. Это мой пример cloudbuild.yaml без оптимизации:
steps:
- name: gcr.io/cloud-builders/docker
args: ['build', '-t', 'gcr.io/$PROJECT_ID/image-pgsql', '-f', 'docker/postgresql/Dockerfile', '.']
- name: gcr.io/cloud-builders/docker
args: ['build', '-t', 'gcr.io/$PROJECT_ID/image-nginx', '--build-arg', 'VERSION=1.15.3', '-f', 'docker/nginx/Dockerfile', '.']
Но я хотел бы получить это или что-то в этом роде:
.build-template: &buildTemplate
args: ['build', '-t', 'gcr.io/$PROJECT_ID/${IMAGE_NAME}', '--build-arg', 'VERSION=${VERSION}', '-f', '${DOCKER_PATH}', '.']
steps:
- name: 'gcr.io/cloud-builders/docker'
<<: *buildTemplate
env: ['IMAGE_NAME=pgsql', 'VERSION=12', 'DOCKER_PATH=docker/postgresql/Dockerfile']
- name: 'gcr.io/cloud-builders/docker'
<<: *buildTemplate
env: ['IMAGE_NAME=nginx', 'VERSION=1.15.3', 'DOCKER_PATH=docker/nginx/Dockerfile']
Я получаю это при попытке запустить cloud-build-local --dryrun=false .
=>
Error loading config file: unknown field ".build-template" in cloudbuild.Build