Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_cloudbuild_trigger — создает ресурс GCP CloudBuild.Trigger

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить ее, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_cloudbuild_trigger.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Конфигурация автоматической сборки в ответ на изменения в исходном репозитории.

Требования

Следующие требования должны быть выполнены на хосте, который запускает этот модуль.

  • python >= 3.8
  • requests >= 2.18.4
  • google-auth >= 2.25.1

Параметры

Параметр

Комментарии

access_token

string

Токен доступа, используемый для аутентификации.

approval_config

dictionary

Конфигурация для ручного подтверждения запуска сборки, инициированной этим BuildTrigger.

Для выполнения сборок, созданных этим триггером, потребуется подтверждение.

Подтвердить сборку может любой пользователь с ролью Cloud Build Approver в проекте.

approval_required

boolean

Требуется ли подтверждение.

Если этот параметр задан для сборки, при запуске она перейдёт в состояние ожидания, и для её начала потребуется явное подтверждение.

Варианты:

  • false ← (по умолчанию)
  • true

auth_kind

string / обязательный

Тип используемых учетных данных.

Варианты:

  • "accesstoken"
  • "application"
  • "machineaccount"
  • "serviceaccount"

bitbucket_server_trigger_config

dictionary

BitbucketServerTriggerConfig описывает конфигурацию триггера, который создает сборку при получении события Bitbucket Server.

bitbucket_server_config_resource

string / обязательный

Ресурс конфигурации Bitbucket Server, с которым сопоставляется конфигурация этого триггера.

project_key

string / обязательный

Ключ проекта, в котором находится репозиторий.

Например: ключ для https://mybitbucket.server/projects/TEST/repos/test-repo — «TEST».

pull_request

dictionary

Фильтр для отбора изменений в запросах на слияние.

branch

string / обязательный

Регулярное выражение для отбора веток.

Принимаются регулярные выражения в синтаксисе RE2, описанном на странице https://github.com/google/re2/wiki/Syntax.

comment_control

string

Настройте запуск сборок в зависимости от того, должен ли владелец репозитория или его соавтор оставить комментарий /gcbrun.

Варианты:

  • "COMMENTS_DISABLED"
  • "COMMENTS_ENABLED"
  • "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"

invert_regex

boolean

Если задано значение true, сборку будут запускать ветки, НЕ соответствующие git_ref.

Варианты:

  • false
  • true

push

dictionary

Фильтр для отбора изменений в ссылках, например ветках и тегах.

branch

string

Регулярное выражение для отбора веток.

Укажите только один параметр: branch или tag.

invert_regex

boolean

Если задано значение true, сборка запускается, только если регулярное выражение для ревизии НЕ соответствует регулярному выражению gitRef.

Варианты:

  • false
  • true

tag

string

Регулярное выражение для отбора тегов.

Укажите только один параметр: branch или tag.

repo_slug

string / обязательный

Краткое имя репозитория.

Краткое имя репозитория — это удобный для использования в URL вариант названия репозитория, автоматически создаваемый Bitbucket для включения в URL.

Например, если репозиторий называется «test repo», в URL он будет представлен как «test-repo», как в примере https://mybitbucket.server/projects/TEST/repos/test-repo.

build

dictionary

Содержимое шаблона сборки.

Необходимо указать имя файла или шаблон сборки.

artifacts

dictionary

Артефакты, созданные сборкой и подлежащие загрузке после успешного завершения всех этапов сборки.

images

list / elements=string

Список образов, которые нужно отправить после успешного завершения всех этапов сборки.

Образы будут отправлены с использованием учетных данных сервисного аккаунта сборщика.

Дайджесты отправленных образов будут сохранены в поле results ресурса Build.

Если не удастся отправить какой-либо из образов, сборке будет присвоен статус FAILURE.

maven_artifacts

list / elements=dictionary

Артефакт Maven, который будет загружен в Artifact Registry после успешного завершения всех этапов сборки.

Расположение и поколение загруженных объектов будут сохранены в поле results ресурса Build.

Если не удастся отправить какие-либо объекты, сборке будет присвоен статус FAILURE.

artifact_id

string

Значение Maven artifactId, используемое при загрузке артефакта в Artifact Registry.

group_id

string

Значение Maven groupId, используемое при загрузке артефакта в Artifact Registry.

path

string

Путь к артефакту в рабочей области сборки, который нужно загрузить в Artifact Registry.

Это может быть абсолютный путь, например

/workspace/my-app/target/my-app-1.0.SNAPSHOT.jar, или относительный путь от /workspace, например

my-app/target/my-app-1.0.SNAPSHOT.jar.

repository

string

Репозиторий Artifact Registry в формате «https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY». Артефакт из рабочей области, указанный параметром path, будет загружен в Artifact Registry с этим расположением в качестве префикса.

version

string

Значение Maven version, используемое при загрузке артефакта в Artifact Registry.

npm_packages

list / elements=dictionary

Пакет npm, который будет загружен в Artifact Registry после успешного завершения всех этапов сборки.

Расположение и поколение загруженных объектов будут сохранены в поле results ресурса Build.

Если не удастся отправить какие-либо объекты, сборке будет присвоен статус FAILURE.

package_path

string

Путь к файлу package.json.

Например,

workspace/path/to/package.

repository

string

Репозиторий Artifact Registry в формате «https://$REGION-npm.pkg.dev/$PROJECT/$REPOSITORY». Пакет npm из рабочей области, указанный параметром path, будет архивирован и загружен в Artifact Registry с этим расположением в качестве префикса.

objects

dictionary

Список объектов, которые будут загружены в Cloud Storage после успешного завершения всех этапов сборки.

Файлы в рабочей области, соответствующие указанным шаблонам путей, будут загружены в Cloud Storage с использованием учетных данных сервисного аккаунта сборщика.

Расположение и поколение загруженных объектов будут сохранены в поле results ресурса Build.

Если не удастся отправить какие-либо объекты, сборке будет присвоен статус FAILURE.

location

string

Бакет Cloud Storage и необязательный путь к объекту в формате «gs://bucket/path/to/somewhere/».

Файлы в рабочей области, соответствующие любому шаблону пути, будут загружены в Cloud Storage с этим расположением в качестве префикса.

paths

list / elements=string

Шаблоны путей для отбора файлов в рабочей области сборки.

timing

dictionary

Только для вывода.

Содержит сведения о времени отправки всех объектов-артефактов.

end_time

string

Конец временного интервала.

Метка времени в формате RFC3339 UTC «Zulu», с точностью до наносекунд и не более чем с девятью десятичными знаками.

Примеры: «2014-10-02T15:01:23Z» и «2014-10-02T15:01:23.045123456Z».

start_time

string

Начало временного интервала.

Метка времени в формате RFC3339 UTC «Zulu», с точностью до наносекунд и не более чем с девятью десятичными знаками.

Примеры: «2014-10-02T15:01:23Z» и «2014-10-02T15:01:23.045123456Z».

python_packages

list / elements=dictionary

Пакет Python, который будет загружен в Artifact Registry после успешного завершения всех этапов сборки.

Пакет может содержать несколько объектов, загружаемых в один репозиторий.

Расположение и поколение загруженных объектов будут сохранены в поле results ресурса Build.

Если не удастся отправить какие-либо объекты, сборке будет присвоен статус FAILURE.

paths

list / elements=string

Шаблоны путей для отбора файлов в рабочей области сборки.

Для Python/Twine обычно указывается dist/*, а иногда также файл .asc.

repository

string

Репозиторий Artifact Registry в формате «https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY». Файлы в рабочей области, соответствующие любому шаблону пути, будут загружены в Artifact Registry с этим расположением в качестве префикса.

available_secrets

dictionary

Секреты и переменные окружения, содержащие секреты.

secret_manager

list / elements=dictionary / обязательный

Связывает переменную окружения, содержащую секрет, с SecretVersion в Secret Manager.

env

string / обязательный

Имя переменной окружения, связанной с секретом.

Имена переменных окружения для секретов должны быть уникальными среди всех секретов сборки, и такие переменные должны использоваться как минимум на одном этапе сборки.

version_name

string / обязательный

Имя ресурса SecretVersion.

Формат: projects/*/secrets/*/versions/*.

images

list / elements=string

Список образов, которые нужно отправить после успешного завершения всех этапов сборки.

Образы отправляются с использованием учетных данных сервисного аккаунта сборщика.

Дайджесты отправленных образов будут сохранены в поле results ресурса Build.

Если не удастся отправить какой-либо из образов, статусу сборки будет присвоено значение FAILURE.

logs_bucket

string

Бакет Google Cloud Storage, в который нужно записывать журналы.

Имена файлов журналов будут иметь формат ${logsBucket}/log-${build_id}.txt.

options

dictionary

Специальные параметры этой сборки.

disk_size_gb

integer

Запрашиваемый размер диска для виртуальной машины, на которой выполняется сборка.

Обратите внимание: это НЕ «свободное место на диске»; часть пространства будет занята операционной системой и утилитами сборки.

Также обратите внимание: это минимальный размер диска, выделяемого для сборки; фактически сборка может выполняться на диске большего размера.

В настоящее время максимальный размер диска составляет 1000 ГБ; запросы на больший размер отклоняются с ошибкой.

dynamic_substitutions

boolean

Параметр, определяющий, следует ли применять к подстановкам операции со строками в стиле bash.

ПРИМЕЧАНИЕ: этот параметр всегда включен для сборок, запускаемых триггерами, и его нельзя переопределить в файле конфигурации сборки.

Варианты:

  • false
  • true

env

list / elements=string

Список определений глобальных переменных окружения, доступных на всех этапах этой сборки.

Если переменная задана глобально и на этапе сборки, будет использоваться значение, указанное для этапа сборки.

Элементы имеют формат «KEY=VALUE»: переменной окружения «KEY» присваивается значение «VALUE».

log_streaming_option

string

Параметр, задающий режим потоковой передачи журналов сборки в Google Cloud Storage.

Варианты:

  • "STREAM_DEFAULT"
  • "STREAM_ON"
  • "STREAM_OFF"

logging

string

Параметр, задающий режим ведения журналов, который определяет, сохраняются ли журналы сборки и где именно.

Варианты:

  • "LOGGING_UNSPECIFIED"
  • "LEGACY"
  • "GCS_ONLY"
  • "STACKDRIVER_ONLY"
  • "CLOUD_LOGGING_ONLY"
  • "NONE"

machine_type

string

Тип машины Compute Engine, на которой будет выполняться сборка.

requested_verify_option

string

Запрошенные параметры проверяемости.

Варианты:

  • "NOT_VERIFIED"
  • "VERIFIED"

secret_env

list / elements=string

Список глобальных переменных окружения, зашифрованных с помощью криптографического ключа Cloud Key Management Service.

Эти значения необходимо указать в Secret сборки.

Эти переменные будут доступны на всех этапах сборки.

source_provenance_hash

list / elements=string

Запрошенный хеш для SourceProvenance.

substitution_option

string

Параметр, задающий поведение при ошибке проверки подстановок.

ПРИМЕЧАНИЕ. Для сборок, запускаемых триггером, этому параметру всегда присваивается значение ALLOW_LOOSE, и его нельзя переопределить в файле конфигурации сборки.

Варианты:

  • "MUST_MATCH"
  • "ALLOW_LOOSE"

volumes

list / elements=dictionary

Глобальный список томов, подключаемых ко ВСЕМ этапам сборки. Перед началом процесса сборки каждый том создаётся пустым.

После завершения сборки тома и их содержимое удаляются.

Глобальные имена и пути томов не должны конфликтовать с томами, определёнными на этапе сборки.

Использование глобального тома в сборке, состоящей из одного этапа, недопустимо, поскольку указывает на неправильно настроенный запрос сборки.

name

string

Имя подключаемого тома.

Имена томов должны быть уникальными для каждого этапа сборки и соответствовать требованиям к именам томов Docker.

Каждый именованный том должен использоваться как минимум на двух этапах сборки.

path

string

Путь, по которому подключается том.

Пути должны быть абсолютными и не должны конфликтовать с путями других томов на том же этапе сборки или с некоторыми зарезервированными путями томов.

worker_pool

string

Параметр, задающий WorkerPool для сборки.

Формат: projects/{project}/workerPools/{workerPool}. Это экспериментальное поле.

queue_ttl

string

Время жизни сборки в очереди.

Если параметр задан и сборка находится в очереди дольше указанного времени, срок её действия истечёт, а статус сборки станет EXPIRED.

Отсчёт TTL начинается с createTime.

Длительность в секундах, содержащая до девяти знаков после запятой и заканчивающаяся символом «s».

Пример: «3.5s».

secret

list / elements=dictionary

Секреты для расшифровки с помощью Cloud Key Management Service.

kms_key_name

string / обязательно

Имя ключа Cloud KMS, используемого для расшифровки этих переменных окружения.

secret_env

dictionary

Соответствие имён переменных окружения их зашифрованным значениям.

Секретные переменные окружения должны быть уникальными среди всех секретов сборки и использоваться как минимум на одном этапе сборки.

Размер каждого значения не может превышать 64 КБ.

Общее количество секретных значений во всех секретах сборки не может превышать 100.

source

dictionary

Расположение исходных файлов для сборки.

Необходимо указать один из параметров: `storageSource` или `repoSource`.

repo_source

dictionary

Расположение исходного кода в репозитории Google Cloud Source.

branch_name

string

Регулярное выражение для выбора веток, подлежащих сборке.

Необходимо указать ровно один из параметров: имя ветки, тег или SHA коммита.

Принимается синтаксис регулярных выражений RE2, описанный на странице https://github.com/google/re2/wiki/Syntax.

commit_sha

string

Явно заданный SHA коммита для сборки.

Необходимо указать ровно один из параметров: имя ветки, тег или SHA коммита.

dir

string

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

Путь должен быть относительным.

Если для этапа задан параметр dir с абсолютным путём, это значение игнорируется при выполнении этого этапа.

invert_regex

boolean

Запускать сборку, только если регулярное выражение для ревизии НЕ соответствует ревизии.

Варианты:

  • false
  • true

project_id

string

Идентификатор проекта, которому принадлежит репозиторий Cloud Source.

Если не указан, используется идентификатор проекта, запросившего сборку.

repo_name

string / обязательно

Имя репозитория Cloud Source.

substitutions

dictionary

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

Следует использовать только с triggers.run.

tag_name

string

Регулярное выражение для выбора тегов, подлежащих сборке.

Необходимо указать ровно один из параметров: имя ветки, тег или SHA коммита.

Принимается синтаксис регулярных выражений RE2, описанный на странице https://github.com/google/re2/wiki/Syntax.

storage_source

dictionary

Расположение исходного кода в архивном файле в Google Cloud Storage.

bucket

string / обязательно

Бакет Google Cloud Storage, содержащий исходный код.

generation

string

Поколение объекта Google Cloud Storage.

Если поколение не указано, используется последнее поколение.

object

string / обязательно

Объект Google Cloud Storage, содержащий исходный код.

Этот объект должен быть архивом gzip (.tar.gz), содержащим исходный код для сборки.

step

list / elements=dictionary / обязательно

Операции, выполняемые в рабочей среде.

allow_exit_codes

list / elements=integer

Разрешить этому этапу сборки завершиться с ошибкой, не прерывая всю сборку, только если код завершения входит в указанный список.

Если также указан параметр `allowFailure`, приоритет имеет это поле.

allow_failure

boolean

Разрешить этому этапу сборки завершиться с ошибкой, не прерывая всю сборку.

Если значение равно false, при сбое этого этапа завершится с ошибкой вся сборка.

В противном случае сборка завершится успешно, но статус этого этапа всё равно будет указывать на ошибку.

Сведения об ошибке будут указаны в поле `failureDetail`.

Поле `allowExitCodes` имеет приоритет над этим полем.

Варианты:

  • false
  • true

args

list / elements=string

Список аргументов, передаваемых этапу при запуске.

Если образ, используемый для запуска контейнера этапа, задаёт точку входа, аргументы args передаются этой точке входа.

Если образ не задаёт точку входа, первый элемент args используется как точка входа, а остальные — как аргументы.

dir

string

Рабочий каталог для запуска контейнера этого этапа.

Если указано относительное значение, путь отсчитывается от рабочего каталога сборки.

Если указано абсолютное значение, путь может находиться за пределами рабочего каталога сборки. В этом случае содержимое по этому пути может не сохраняться между этапами сборки, если для этого пути не указан `volume`.

Если для сборки задан `RepoSource` с параметром `dir` и для этапа задан `dir` с абсолютным путём, параметр `dir` в `RepoSource` игнорируется при выполнении этого этапа.

entrypoint

string

Точка входа, используемая вместо точки входа по умолчанию для образа этапа сборки.

Если значение не задано, используется точка входа образа по умолчанию.

env

list / elements=string

Список определений переменных окружения, используемых при выполнении этапа.

Элементы имеют формат «KEY=VALUE»: переменной окружения «KEY» присваивается значение «VALUE».

id

string

Уникальный идентификатор этого этапа сборки, используемый в `wait_for` для указания зависимости от этого этапа.

name

string / обязательно

Имя образа контейнера, который будет выполнять этот этап сборки.

Если образ доступен в кэше демона Docker на хосте, он будет запущен напрямую.

В противном случае хост сначала попытается загрузить образ, при необходимости используя учётные данные сервисной учётной записи сборщика.

В кэше демона Docker уже есть последние версии всех официально поддерживаемых этапов сборки (список образов и примеры см. на странице https://github.com/GoogleCloudPlatform/cloud-builders).

В демоне Docker также кэшируются многие слои некоторых популярных образов, например «ubuntu» и «debian», однако при попытке их использования эти слои обновляются.

Если образ был создан на предыдущем этапе сборки, он будет сохранён в кэше демона Docker на хосте и станет доступен для использования в качестве имени на последующем этапе сборки.

script

string

Сценарий командной оболочки, выполняемый на этом этапе.

Если указан script, пользователь не может указать точку входа или аргументы.

secret_env

list / elements=string

Список переменных окружения, зашифрованных с помощью криптографического ключа Cloud Key Management Service.

Эти значения необходимо указать в `Secret` сборки.

timeout

string

Ограничение времени выполнения этого этапа сборки.

Если значение не задано, ограничение времени для этапа отсутствует: он будет выполняться до завершения или до истечения времени ожидания самой сборки.

timing

string

Только для вывода.

Содержит сведения о времени выполнения этого этапа сборки.

volumes

list / elements=dictionary

Список томов, подключаемых к этапу сборки.

Перед выполнением этапа сборки каждый том создаётся пустым.

После завершения сборки тома и их содержимое удаляются.

Использование именованного тома только на одном этапе недопустимо, поскольку указывает на неправильно настроенный запрос сборки.

name

string / обязательно

Имя подключаемого тома.

Имена томов должны быть уникальными для каждого этапа сборки и соответствовать требованиям к именам томов Docker.

Каждый именованный том должен использоваться как минимум на двух этапах сборки.

path

string / обязательно

Путь, по которому подключается том.

Пути должны быть абсолютными и не должны конфликтовать с путями других томов на том же этапе сборки или с некоторыми зарезервированными путями томов.

wait_for

list / elements=string

Идентификаторы этапов, от которых зависит этот этап сборки.

Этот этап сборки не начнётся, пока все этапы, указанные в `wait_for`, не завершатся успешно.

Если `wait_for` пуст, этот этап сборки начнётся после успешного завершения всех предыдущих этапов в списке `Build.Steps`.

substitutions

dictionary

Данные подстановок для ресурса Build.

tags

list / elements=string

Теги для аннотирования сборки.

Это не теги Docker.

timeout

string

Время, в течение которого разрешено выполнять эту сборку, с точностью до секунды.

По истечении этого времени выполнение сборки прекратится, а её статус станет TIMEOUT.

Это значение должно быть не меньше суммы времени ожидания всех этапов сборки.

Ожидаемый формат: число секунд, за которым следует s.

Время по умолчанию — десять минут (600s).

По умолчанию: "600s"

description

string

Понятное пользователю описание триггера.

disabled

boolean

Указывает, отключён ли триггер.

Если значение равно true, триггер никогда не приведёт к запуску сборки.

Варианты:

  • false
  • true

env_type

string

Указывает, в какой среде Ansible выполняется этот модуль.

Не задавайте это значение, если не знаете, что делаете.

Оно изменяет только строку User Agent для API-запросов.

filename

string

Путь от корня исходного кода к файлу, содержимое которого используется в качестве шаблона.

Необходимо указать имя файла или шаблон сборки.

Задавайте этот параметр только при использовании trigger_template или github.

При использовании Pub/Sub, Webhook или Manual задавайте имя файла с помощью git_file_source.

filter

string

Строка на языке Common Expression Language.

Используется только с Pub/Sub и Webhook.

git_file_source

dictionary

Источник файла, описывающий локальный или удалённый шаблон Build.

bitbucket_server_config

string

Полное имя ресурса конфигурации сервера Bitbucket.

Формат: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

github_enterprise_config

string

Полное имя ресурса конфигурации GitHub Enterprise.

Формат: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}.

projects/{project}/githubEnterpriseConfigs/{id}.

path

string / обязательный

Путь к файлу, корнем которого является корень репозитория.

repo_type

string / обязательный

Тип репозитория, поскольку он может быть явно не указан в поле repo (например, в URL).

Допустимые значения: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

Варианты:

  • "UNKNOWN"
  • "CLOUD_SOURCE_REPOSITORIES"
  • "GITHUB"
  • "BITBUCKET_SERVER"

repository

string

Полное имя ресурса репозитория Repo API.

Полное имя ресурса репозитория Repo API.

Если не указано, предполагается, что репозиторий, из которого был вызван триггер, является репозиторием, из которого следует прочитать указанный путь.

revision

string

Ветка, тег, произвольная ссылка или версия SHA репозитория, используемая при определении имени файла (необязательно).

Для этого поля применяются те же синтаксис и правила разрешения, что и описанные здесь: https://git-scm.com/docs/gitrevisions. Если не указано, предполагается, что ревизия, из которой был вызван триггер, является ревизией, из которой следует прочитать указанный путь.

uri

string

URI репозитория (необязательно).

Если не указано, предполагается, что репозиторий, из которого был вызван триггер, является репозиторием, из которого следует прочитать указанный путь.

github

dictionary

Описывает конфигурацию триггера, который запускает сборку при получении события GitHub.

Необходимо указать один из параметров: `trigger_template`, `github`, `pubsub_config` или `webhook_config`.

enterprise_config_resource_name

string

Имя ресурса конфигурации GitHub Enterprise, которая должна применяться к этой установке.

Например: «projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}».

name

string

Имя репозитория.

Например, имя для https://github.com/googlecloudplatform/cloud-builders — «cloud-builders».

owner

string

Владелец репозитория.

Например, владелец для https://github.com/googlecloudplatform/cloud-builders — «googlecloudplatform».

pull_request

dictionary

Фильтр для сопоставления изменений в запросах на слияние.

Укажите только один из параметров: `pull_request` или `push`.

branch

string / обязательный

Регулярное выражение для сопоставления веток.

comment_control

string

Блокировать ли сборки, если владелец или участник репозитория не оставил комментарий «/gcbrun».

Варианты:

  • "COMMENTS_DISABLED"
  • "COMMENTS_ENABLED"
  • "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"

invert_regex

boolean

Если значение true, сборку запускают ветки, НЕ соответствующие git_ref.

Варианты:

  • false
  • true

push

dictionary

Фильтр для сопоставления изменений в ссылках, например ветках или тегах.

Укажите только один из параметров: `pull_request` или `push`.

branch

string

Регулярное выражение для сопоставления веток.

Укажите только один из параметров: branch или tag.

invert_regex

boolean

Если значение true, сборка запускается только в том случае, если регулярное выражение ревизии НЕ соответствует регулярному выражению git_ref.

Варианты:

  • false
  • true

tag

string

Регулярное выражение для сопоставления тегов.

Укажите только один из параметров: branch или tag.

ignored_files

list / elements=string

ignoredFiles и includedFiles — это шаблоны glob для файлов, использующие https://golang.org/pkg/path/filepath/#Match с поддержкой `**`.

Если ignoredFiles и изменённые файлы отсутствуют, они не используются для определения необходимости запуска сборки.

Если ignoredFiles не пуст, игнорируются все файлы, соответствующие любому из шаблонов glob ignored_file.

Если среди изменённых файлов нет файлов, не соответствующих шаблонам glob ignoredFiles, сборка не запускается.

include_build_logs

string

Журналы сборки будут переданы обратно в GitHub как часть результата checkrun.

Допустимые значения: INCLUDE_BUILD_LOGS_UNSPECIFIED или INCLUDE_BUILD_LOGS_WITH_STATUS.

Варианты:

  • "INCLUDE_BUILD_LOGS_UNSPECIFIED"
  • "INCLUDE_BUILD_LOGS_WITH_STATUS"

included_files

list / elements=string

ignoredFiles и includedFiles — это шаблоны glob для файлов, использующие https://golang.org/pkg/path/filepath/#Match с поддержкой `**`.

Если какие-либо изменённые в коммите файлы проходят фильтр ignoredFiles, а includedFiles пуст, то, согласно этому фильтру, сборку следует запустить.

Если какие-либо изменённые в коммите файлы проходят фильтр ignoredFiles, а includedFiles не пуст, проверяется, соответствует ли хотя бы один из этих файлов шаблону glob includedFiles.

В противном случае сборка не запускается.

location

string

[Регион Cloud Build](https://cloud.google.com/build/docs/locations) для триггера.

Если не указано, используется «global».

По умолчанию: "global"

name

string

Имя триггера.

Должно быть уникальным в пределах проекта.

project

string

Используемый проект Google Cloud Platform.

pubsub_config

dictionary

PubsubConfig описывает конфигурацию триггера, который запускает сборку при публикации сообщения Pub/Sub.

Необходимо указать один из параметров: `trigger_template`, `github`, `pubsub_config`, `webhook_config` или `source_to_build`.

service_account_email

string

Сервисный аккаунт, от имени которого будет отправлен запрос push.

state

string

Возможные проблемы с конфигурацией базовой подписки Pub/Sub.

Заполняется только при запросах get.

subscription

string

Только для вывода.

Имя подписки.

topic

string / обязательный

Имя темы, из которой эта подписка получает сообщения.

repository_event_config

dictionary

Конфигурация триггера, который запускает сборку при получении события от Repo API.

pull_request

dictionary

Содержит свойства фильтра для сопоставления запросов на слияние.

branch

string

Регулярное выражение для сопоставления веток.

Поддерживается синтаксис регулярных выражений RE2, описанный на странице https://github.com/google/re2/wiki/Syntax.

comment_control

string

Настройте запуск сборок, указав, требуется ли комментарий `/gcbrun` от владельца или участника репозитория.

Варианты:

  • "COMMENTS_DISABLED"
  • "COMMENTS_ENABLED"
  • "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"

invert_regex

boolean

Если значение true, сборку запускают ветки, НЕ соответствующие git_ref.

Варианты:

  • false
  • true

push

dictionary

Содержит свойства фильтра для сопоставления отправок изменений в Git.

branch

string

Регулярное выражение для сопоставления веток.

Поддерживается синтаксис регулярных выражений RE2, описанный на странице https://github.com/google/re2/wiki/Syntax.

invert_regex

boolean

Если значение true, сборка запускается только в том случае, если регулярное выражение ревизии НЕ соответствует регулярному выражению git_ref.

Варианты:

  • false
  • true

tag

string

Регулярное выражение для сопоставления тегов.

Поддерживается синтаксис регулярных выражений RE2, описанный на странице https://github.com/google/re2/wiki/Syntax.

repository

string

Имя ресурса Repo API.

scopes

list / elements=string

Массив областей доступа для использования.

service_account

string

Сервисный аккаунт для всех операций, управляемых пользователем, включая triggers.patch, triggers.run, builds.create и builds.cancel.

Если сервисный аккаунт не задан, вместо него будет использоваться стандартный сервисный аккаунт Cloud Build ([PROJECT_NUM]@system.gserviceaccount.com).

Формат: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}.

service_account_contents

jsonarg

Содержимое JSON-файла сервисного аккаунта:

в виде словаря или JSON-строки, представляющей его.

service_account_email

string

Необязательный адрес электронной почты сервисного аккаунта, если выбран machineaccount

и пользователь не хочет использовать адрес по умолчанию.

service_account_file

path

Путь к JSON-файлу сервисного аккаунта, если в качестве типа

выбран serviceaccount.

source_to_build

dictionary

Репозиторий и ссылка на ревизию репозитория, из которого выполняется сборка.

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

Триггеры, реагирующие на такие события, собирают исходный код на том коммите, который вызвал событие.

В настоящее время это поле используется только триггерами Webhook, Pub/Sub, Manual и Cron.

Необходимо указать один из параметров: `trigger_template`, `github`, `pubsub_config`, `webhook_config` или `source_to_build`.

bitbucket_server_config

string

Полное имя ресурса конфигурации Bitbucket Server.

Формат: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

github_enterprise_config

string

Полное имя ресурса конфигурации GitHub Enterprise.

Формат: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}.

projects/{project}/githubEnterpriseConfigs/{id}.

ref

string / обязательный

Используемая ветка или тег.

Должно начинаться с «refs/» (обязательно).

repo_type

string / обязательный

Тип репозитория, поскольку он может быть явно не указан в поле repo (например, в URL).

Допустимые значения: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

Варианты:

  • "UNKNOWN"
  • "CLOUD_SOURCE_REPOSITORIES"
  • "GITHUB"
  • "BITBUCKET_SERVER"

repository

string

Полное имя ресурса репозитория Repo API.

Необходимо указать uri или repository.

uri

string

URI репозитория.

state

string

Должен ли ресурс существовать в GCP.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

substitutions

dictionary

Данные подстановки для ресурса Build.

tags

list / elements=string

Теги для аннотирования BuildTrigger.

trigger_template

dictionary

Шаблон, описывающий типы изменений исходного кода, запускающие сборку.

Имена ветвей и тегов в шаблонах триггеров интерпретируются как регулярные выражения.

Любое изменение ветви или тега, соответствующее этому регулярному выражению, запустит сборку.

Необходимо указать один из параметров `trigger_template`, `github`, `pubsub_config`, `webhook_config` или `source_to_build`.

branch_name

string

Имя ветви для сборки.

Необходимо указать ровно одно из значений: имя ветви, тег или SHA коммита.

Это поле является регулярным выражением.

commit_sha

string

Явно указанный SHA коммита для сборки.

Необходимо указать ровно одно из значений: имя ветви, тег или SHA коммита.

dir

string

Каталог относительно корневого каталога исходного кода, в котором следует запускать сборку.

Путь должен быть относительным.

Если для шага указан параметр dir с абсолютным путём, это значение игнорируется при выполнении этого шага.

invert_regex

boolean

Запускать сборку, только если регулярное выражение ревизии НЕ соответствует регулярному выражению ревизии.

Допустимые значения:

  • false
  • true

project_id

string

Идентификатор проекта, которому принадлежит Cloud Source Repository.

Если параметр не указан, предполагается идентификатор проекта, запрашивающего сборку.

repo_name

string

Имя Cloud Source Repository.

Если параметр не указан, предполагается имя «default».

По умолчанию: "default"

tag_name

string

Имя тега для сборки.

Необходимо указать ровно одно из значений: имя ветви, тег или SHA коммита.

Это поле является регулярным выражением.

webhook_config

dictionary

WebhookConfig описывает конфигурацию триггера, который создаёт сборку при отправке веб-перехватчика на URL веб-перехватчика триггера.

Необходимо указать один из параметров `trigger_template`, `github`, `pubsub_config`, `webhook_config` или `source_to_build`.

secret

string / обязательный

Имя ресурса секрета, необходимого в качестве параметра URL.

state

string

Возможные проблемы с конфигурацией базовой подписки Pub/Sub.

Заполняется только в запросах get.

Примечания

Примечание

  • Справочник API: https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.triggers
  • Руководство по автоматизации сборок с помощью триггеров сборки: https://cloud.google.com/cloud-build/docs/running-builds/automate-builds
  • Для аутентификации можно задать auth_kind с помощью переменной окружения GCP_AUTH_KIND.
  • Для аутентификации можно задать service_account_file с помощью переменной окружения GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_contents с помощью переменной окружения GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно задать service_account_email с помощью переменной окружения GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать access_token с помощью переменной окружения GCP_ACCESS_TOKEN.
  • Для аутентификации можно задать scopes с помощью переменной окружения GCP_SCOPES.
  • Значения переменных окружения используются только в том случае, если значения в плейбуке не заданы.
  • Параметры service_account_email, service_account_file, service_account_file и access_token являются взаимоисключающими.

Примеры

- name: Trigger build with filename
  google.cloud.gcp_cloudbuild_trigger_build:
    name: "{{ resource_name }}"
    state: present
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    trigger_template:
      repo_name: my-repo-name
      branch_name: main
    filename: my-cloudbuild.yml

################################################################################

- name: Trigger build example
  google.cloud.gcp_cloudbuild_trigger_build:
    name: "{{ resource_name }}"
    state: present
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    trigger_template:
      branch_name: main
      repo_name: my-repo-name
    logs_bucket: gs://my-bucket/logs
    step:
      - name: gcr.io/cloud-builders/gsutil
        args: ["cp", "gs://my-bucket/remotefile.zip", "localfile.zip"]
        secret_env: ["MY_SECRET"]
      - name: ubuntu
        script: |
          echo "Hello, world!"
    source:
      storage_source:
        bucket: my-bucket
        object: sourcecode.zip
    artifacts:
      images:
        - gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA
      objects:
        location: "gs://bucket/path/to/somewhere/"
        paths: ["path"]
      npm_packages:
        package_path: "package.json"
        repository: "https://us-west1-npm.pkg.dev/myProject/quickstart-nodejs-repo"
      python_packages:
        paths: ["dist/*"]
        repository: "https://us-west1-python.pkg.dev/myProject/quickstart-python-repo"

################################################################################

- name: Trigger build with pubsub config
  google.cloud.gcp_cloudbuild_trigger_build:
    name: "{{ resource_name }}"
    state: present
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    pubsub_config:
      topic: pubsub_topic.my_topic.id
    source_to_build:
      uri: https://my-host.com/my-user/my-repo-name.git
      ref: refs/heads/main
      repo_type: UNKNOWN
    git_file_source:
      path: cloudbuild.yaml
      uri: https://my-host.com/my-user/my-repo-name.git
      revision: refs/heads/main
      repo_type: UNKNOWN
    substitutions:
      _ACTION: "$(body.message.data.action)"
    filter: "_ACTION.matches('INSERT')"

################################################################################

- name: Trigger build with webhook config
  google.cloud.gcp_cloudbuild_trigger_build:
    name: "{{ resource_name }}"
    state: present
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    source_to_build:
      uri: https://my-host.com/my-user/my-repo-name.git
      ref: refs/heads/main
      repo_type: UNKNOWN
    git_file_source:
      path: cloudbuild.yaml
      uri: https://my-host.com/my-user/my-repo-name.git
      revision: refs/heads/main
      repo_type: UNKNOWN
    webhook_config:
      secret: projects/{{ gcp_project }}/secrets/webhook-secret/versions/1

################################################################################

- name: Trigger manual build with approval needed
  google.cloud.gcp_cloudbuild_trigger_build:
    name: "{{ resource_name }}"
    state: present
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    source_to_build:
      uri: https://my-host.com/my-user/my-repo-name.git
      ref: refs/heads/main
      repo_type: UNKNOWN
    git_file_source:
      path: cloudbuild.yaml
      uri: https://my-host.com/my-user/my-repo-name.git
      revision: refs/heads/main
      repo_type: UNKNOWN
    approval_config:
      approval_required: true

################################################################################

- name: Trigger build with repository event config
  google.cloud.gcp_cloudbuild_trigger_build:
    name: "{{ resource_name }}"
    state: present
    location: us-central1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    repository_event_config:
      pull_request:
        branch: 'feature/*'
      push:
        branch: main
      repository: "{{ repository_name }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

changed

boolean

Изменился ли ресурс.

Возвращается: всегда

createTime

string

Время создания триггера.

Возвращается: при успешном выполнении

state

string

Текущее состояние ресурса.

Возвращается: всегда

trigger_id

string

Уникальный идентификатор триггера.

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_cloudbuild_trigger_module.html

Spec-Zone.ru

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