Модуль 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 |
Требуется ли подтверждение. Если этот параметр задан для сборки, при запуске она перейдёт в состояние ожидания, и для её начала потребуется явное подтверждение. Варианты:
|
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
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. Варианты:
|
|
invert_regex boolean |
Если задано значение true, сборку будут запускать ветки, НЕ соответствующие git_ref. Варианты:
|
|
push dictionary |
Фильтр для отбора изменений в ссылках, например ветках и тегах. |
|
branch string |
Регулярное выражение для отбора веток. Укажите только один параметр: branch или tag. |
|
invert_regex boolean |
Если задано значение true, сборка запускается, только если регулярное выражение для ревизии НЕ соответствует регулярному выражению gitRef. Варианты:
|
|
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. ПРИМЕЧАНИЕ: этот параметр всегда включен для сборок, запускаемых триггерами, и его нельзя переопределить в файле конфигурации сборки. Варианты:
|
|
env list / elements=string |
Список определений глобальных переменных окружения, доступных на всех этапах этой сборки. Если переменная задана глобально и на этапе сборки, будет использоваться значение, указанное для этапа сборки. Элементы имеют формат «KEY=VALUE»: переменной окружения «KEY» присваивается значение «VALUE». |
|
log_streaming_option string |
Параметр, задающий режим потоковой передачи журналов сборки в Google Cloud Storage. Варианты:
|
|
logging string |
Параметр, задающий режим ведения журналов, который определяет, сохраняются ли журналы сборки и где именно. Варианты:
|
|
machine_type string |
Тип машины Compute Engine, на которой будет выполняться сборка. |
|
requested_verify_option string |
Запрошенные параметры проверяемости. Варианты:
|
|
secret_env list / elements=string |
Список глобальных переменных окружения, зашифрованных с помощью криптографического ключа Cloud Key Management Service. Эти значения необходимо указать в Secret сборки. Эти переменные будут доступны на всех этапах сборки. |
|
source_provenance_hash list / elements=string |
Запрошенный хеш для SourceProvenance. |
|
substitution_option string |
Параметр, задающий поведение при ошибке проверки подстановок. ПРИМЕЧАНИЕ. Для сборок, запускаемых триггером, этому параметру всегда присваивается значение 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 |
Запускать сборку, только если регулярное выражение для ревизии НЕ соответствует ревизии. Варианты:
|
|
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` имеет приоритет над этим полем. Варианты:
|
|
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). По умолчанию: |
description string | Понятное пользователю описание триггера. |
disabled boolean | Указывает, отключён ли триггер. Если значение равно 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. Варианты:
|
|
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». Варианты:
|
|
invert_regex boolean |
Если значение true, сборку запускают ветки, НЕ соответствующие git_ref. Варианты:
|
|
push dictionary |
Фильтр для сопоставления изменений в ссылках, например ветках или тегах. Укажите только один из параметров: `pull_request` или `push`. |
|
branch string |
Регулярное выражение для сопоставления веток. Укажите только один из параметров: branch или tag. |
|
invert_regex boolean |
Если значение true, сборка запускается только в том случае, если регулярное выражение ревизии НЕ соответствует регулярному выражению git_ref. Варианты:
|
|
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. Варианты:
|
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». По умолчанию: |
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` от владельца или участника репозитория. Варианты:
|
|
invert_regex boolean |
Если значение true, сборку запускают ветки, НЕ соответствующие git_ref. Варианты:
|
|
push dictionary |
Содержит свойства фильтра для сопоставления отправок изменений в Git. |
|
branch string |
Регулярное выражение для сопоставления веток. Поддерживается синтаксис регулярных выражений RE2, описанный на странице https://github.com/google/re2/wiki/Syntax. |
|
invert_regex boolean |
Если значение true, сборка запускается только в том случае, если регулярное выражение ревизии НЕ соответствует регулярному выражению git_ref. Варианты:
|
|
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. Варианты:
|
|
repository string |
Полное имя ресурса репозитория Repo API. Необходимо указать uri или repository. |
|
uri string |
URI репозитория. |
state string | Должен ли ресурс существовать в GCP. Варианты:
|
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 |
Запускать сборку, только если регулярное выражение ревизии НЕ соответствует регулярному выражению ревизии. Допустимые значения:
|
|
project_id string |
Идентификатор проекта, которому принадлежит Cloud Source Repository. Если параметр не указан, предполагается идентификатор проекта, запрашивающего сборку. |
|
repo_name string |
Имя Cloud Source Repository. Если параметр не указан, предполагается имя «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 | Уникальный идентификатор триггера. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 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