Ресурс google_cloudbuild_trigger
Синтаксис
Используется google_cloudbuild_trigger для проверки ресурса Google Trigger.
Примеры
describe google_cloudbuild_triggers(project: 'chef-gcp-inspec') do
its('count') { should eq 1 }
end
google_cloudbuild_triggers(project: 'chef-gcp-inspec').ids.each do |id|
describe google_cloudbuild_trigger(project: 'chef-gcp-inspec', id: id) do
its('filename') { should eq 'cloudbuild.yaml' }
its('trigger_template.branch_name') { should eq 'trigger-branch' }
its('trigger_template.repo_name') { should eq 'trigger-repo' }
its('trigger_template.project_id') { should eq 'trigger-project' }
end
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_cloudbuild_trigger:
id- Уникальный идентификатор триггера.
name- Имя триггера. Должно быть уникальным в проекте.
description- Описание триггера, понятное для человека.
disabled- Включен или отключен триггер. Если true, триггер никогда не приведет к созданию сборки.
create_time- Время создания триггера.
substitutions- Данные подстановок для ресурса Build.
filename- Путь к файлу в корне источника, содержимое которого используется для шаблона. Должен быть указан либо имя файла, либо шаблон сборки.
ignored_files- ignoredFiles и includedFiles — это соответствия шаблонам файлов, использующие https://golang.org/pkg/path/filepath/#Match, расширенные поддержкой
**. Если ignoredFiles и changed files оба пусты, то они не используются для определения необходимости запуска сборки. Если ignoredFiles не пуст, то мы игнорируем любые файлы, соответствующие любому из шаблонов ignored_file. Если изменения не содержат файлов, которые находятся за пределами шаблонов ignoredFiles, сборка не запускается. included_files- ignoredFiles и includedFiles — это соответствия шаблонам файлов, использующие https://golang.org/pkg/path/filepath/#Match, расширенные поддержкой
**. Если какие-либо из файлов, измененных в коммите, проходят фильтр ignoredFiles, а includedFiles пуст, то, что касается этого фильтра, мы должны запустить сборку. Если какие-либо из файлов, изменённых в коммите, проходят фильтр ignoredFiles, а includedFiles не пуст, то мы должны убедиться, что хотя бы один из этих файлов соответствует шаблону includedFiles. Если нет, сборка не запускается. trigger_template- Шаблон, описывающий типы изменений в источнике, которые запускают сборку. Имена ветвей и тегов в шаблонах триггеров интерпретируются как регулярные выражения. Любое изменение ветви или тега, соответствующее этому регулярному выражению, запустит сборку.
project_id- ID проекта, которому принадлежит Cloud Source Repository. Если опущено, используется ID проекта, запрашивающего сборку.
repo_name- Имя Cloud Source Repository. Если опущено, используется имя «default».
dir- Директория, относительная к корню источника, в которой нужно выполнить сборку. Это должен быть относительный путь. Если для шага указан абсолютный путь, это значение игнорируется для выполнения этого шага.
branch_name- Имя ветви для сборки. Должно быть указано ровно одно из имени ветви, тега или SHA коммита. Это поле является регулярным выражением.
tag_name- Имя тега для сборки. Должно быть указано ровно одно из имени ветви, тега или SHA коммита. Это поле является регулярным выражением.
commit_sha- Явный SHA коммита для сборки. Должно быть указано ровно одно из имени ветви, тега или SHA коммита.
github- (Только бета) Описывает конфигурацию триггера, который создает сборку всякий раз, когда поступает событие GitHub.
owner- Владелец репозитория. Например: Владелец для https://github.com/googlecloudplatform/cloud-builders — «googlecloudplatform».
name- Имя репозитория. Например: Имя для https://github.com/googlecloudplatform/cloud-builders — «cloud-builders».
pull_request- Фильтр для сопоставления изменений в запросах на вытягивание. Укажите только одно из pullRequest или push.
branch- Регулярное выражение для сопоставления ветвей.
comment_control- Блокировать сборки при комментарии «/gcbrun» от владельца или участника репозитория.
Возможные значения:
- COMMENTS_DISABLED
- COMMENTS_ENABLED
push- Фильтр для сопоставления изменений в ссылках, таких как ветви или теги. Укажите только одно из pullRequest или push.
branch- Регулярное выражение для сопоставления ветвей. Укажите только одно из branch или tag.
tag- Регулярное выражение для сопоставления тегов. Укажите только одно из branch или tag.
build- Содержимое шаблона сборки. Должен быть указан либо имя файла, либо шаблон сборки.
tags- Теги для аннотации сборки. Это не теги Docker.
images- Список изображений, которые необходимо опубликовать после успешного выполнения всех шагов сборки. Изображения публикуются с помощью учетных данных сервисного аккаунта сборщика. Хэш-суммы опубликованных изображений будут храниться в поле результатов ресурса Build. Если какое-либо из изображений не удастся опубликовать, статус сборки помечается как FAILURE.
timeout- Время, в течение которого эта сборка должна работать (с точностью до секунды). Если это время истечет, работа над сборкой прекратится, и статус сборки будет TIMEOUT. Этот таймаут должен быть равен или больше суммы таймаутов шагов сборки в рамках сборки. Ожидаемый формат — число секунд, за которым следует s. Значение по умолчанию — десять минут (600s).
steps- Операции, которые нужно выполнить в рабочей области.
name- Имя контейнерного образа, который будет выполнять этот конкретный шаг сборки. Если образ доступен в кэше демона Docker хоста, он будет запущен непосредственно. В противном случае хост попытается сначала извлечь образ, используя учетные данные сервисного аккаунта сборщика, если это необходимо. В кэше демона Docker уже будут последние версии всех официально поддерживаемых шагов сборки (https://github.com/GoogleCloudPlatform/cloud-builders). Демон Docker также будет кэшировать многие слои для некоторых популярных образов, таких как «ubuntu», «debian», но они будут обновляться в тот момент, когда вы попытаетесь их использовать. Если вы создали образ в предыдущем шаге сборки, он будет храниться в кэше демона Docker хоста и будет доступен для использования в последующем шаге сборки.
args- Список аргументов, которые будут переданы шагу при его запуске. Если образ, используемый для запуска контейнера шага, имеет точку входа, args используются как аргументы этой точки входа. Если образ не определяет точку входа, первый элемент в args используется в качестве точки входа, а остальные будут использоваться как аргументы.
env- Список определений переменных среды, которые будут использоваться при выполнении шага. Элементы имеют вид «KEY=VALUE», где переменной «KEY» присваивается значение «VALUE».
id- Уникальный идентификатор этого шага сборки, используемый в
wait_forдля ссылки на этот шаг сборки в качестве зависимости. entrypoint- Точка входа, которая должна использоваться вместо точки входа по умолчанию образа шага сборки. Если не задано, используется точка входа по умолчанию образа.
dir- Рабочая директория, используемая при выполнении контейнера этого шага. Если это относительный путь, он относительный к рабочей директории сборки. Если это абсолютный путь, он может находиться за пределами рабочей директории сборки, в этом случае содержимое пути может не сохраняться между запусками шагов сборки, если для этого пути не указана
volume. Если сборка указываетRepoSourceсdirи шагом сdir, который указывает абсолютный путь, тоRepoSourcedirигнорируется для выполнения шага. secret_env- Список переменных среды, которые зашифрованы с использованием ключа шифрования сервиса управления ключами Cloud. Эти значения должны быть указаны в
Secretсборки. timeout- Предельное время для выполнения этого шага сборки. Если не определено, шаг не имеет временных ограничений и будет продолжать выполняться до завершения или истечения времени ожидания самой сборки.
timing- Только для чтения. Хранит информацию о времени выполнения этого шага сборки.
volumes- Список томов, которые нужно смонтировать в шаг сборки. Каждый том создается как пустой том перед выполнением шага сборки. После завершения сборки тома и их содержимое удаляются. Использование именованного тома только в одном шаге недействительно, поскольку это указывает на запрос сборки с неправильной конфигурацией.
name- Имя тома для монтирования. Имена томов должны быть уникальными для каждого шага сборки и должны быть допустимыми именами томов Docker. Каждый именованный том должен использоваться как минимум двумя шагами сборки.
path- Путь для монтирования тома. Пути должны быть абсолютными и не могут конфликтовать с другими путями томов в том же шаге сборки или с определенными зарезервированными путями томов.
wait_for- Идентификатор(ы) шага(ов), от которого зависит этот шаг сборки. Этот шаг сборки не начнется, пока все шаги сборки в
wait_forне завершатся успешно. Еслиwait_forпусто, этот шаг сборки начнется, когда все предыдущие шаги сборки в спискеBuild.Stepsзавершатся успешно.
Разрешения GCP
Убедитесь, что для текущего проекта включен API Cloud Build.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_cloudbuild_trigger/