Google cloud build - пользовательский тип машины - PullRequest
0 голосов
/ 24 октября 2019

Я использую Google cloud build для создания изображений моего приложения. Я создал сборку trigger, которая ищет git tag в определенном формате. Каждый раз, когда облачная сборка обнаруживает новый тег - рождается новая сборка.

Поскольку время сборки довольно велико, я пытаюсь сделать его быстрее.

Я обнаружил, что можно попросить Google собрать приложение на более сильной машине ( Source ).

gcloud builds submit --config=cloudbuild.yaml --machine-type=n1-highcpu-8 .

Но этот код работает, если вы выберете опцию ручной сборки. Так как я создал триггер сборки из пользовательского интерфейса GCP, я не могу найти места для заполнения аргумента machine-type.

Как выбрать machine-type для пользователей, имеющих автоматические триггеры сборки?

ОБНОВЛЕНИЕ:

В окне Trigger я выбираю Build Configuration = Docker Fileи это мой предварительный просмотр файла Docker:

docker build \
    -t gcr.io/PROJ_NAME/APP_NAME/$TAG_NAME:$COMMIT_SHA \
    -f deployments/docker/APPNAME.docker \
    .

Как должен выглядеть мой buildconfig.yaml файл?

1 Ответ

3 голосов
/ 24 октября 2019

Вам нужно изменить конфигурацию сборки = Cloud Build configuration file и передать cloudbuild.yaml в git.

Затем используйте поле machineType в свойстве optionsваш cloudbuild.yaml файл.

Например,


steps:
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'gcr.io/PROJ_NAME/APP_NAME/$TAG_NAME:$COMMIT_SHA', '-f', 'deployments/docker/APPNAME.docker', '.']
options:
 machineType: 'N1_HIGHCPU_8'
...