Spec-Zone.ru › Chef 16

Ресурс 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, который указывает абсолютный путь, то RepoSource dir игнорируется для выполнения шага.
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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API