Spec-Zone.ru › Chef 17

Ресурс google_cloudbuild_trigger

[редактировать на GitHub]

Синтаксис

Для проверки ресурса Google Trigger используется google_cloudbuild_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 и changedFiles пустые, они не используются для определения необходимости запуска сборки. Если ignoredFiles не пустой, то любые файлы, соответствующие любому из шаблонов ignored_file, игнорируются. Если изменения не содержат файлов, которые находятся вне шаблонов ignoredFiles, сборка не запускается.
included_files
ignoredFiles и includedFiles — соответствия шаблонам файлов с использованием https://golang.org/pkg/path/filepath/#Match, расширенные поддержкой **. Если любые из изменённых файлов в коммите проходят фильтр ignoredFiles, а includedFiles пустой, по этому фильтру сборка должна быть запущена. Если любые из изменённых файлов в коммите проходят фильтр ignoredFiles, а includedFiles не пустой, то мы проверяем, что хотя бы один из этих файлов соответствует шаблону includedFiles. Если нет, сборка не запускается.
trigger_template
Шаблон, описывающий типы изменений источника, которые запускают сборку. Имена ветвей и тегов в шаблонах триггера интерпретируются как регулярные выражения. Любое изменение ветви или тега, соответствующее этому регулярному выражению, запустит сборку.
project_id
Идентификатор проекта, которому принадлежит Cloud Source Repository. Если опущено, предполагается идентификатор проекта, запросившего сборку.
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
Фильтр для сопоставления изменений в refs, таких как ветки или теги. Укажите только одно из 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 Key Management. Эти значения должны быть указаны в 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