Spec-Zone.ru › Ansible 2.9

gcp_cloudbuild_trigger – Создаёт триггер GCP

Новая версия с 2.8.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

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

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
build
словарь
Содержимое шаблона сборки. Должен быть указан либо файл, либо шаблон сборки.
images
список
Список изображений, которые необходимо загрузить после успешного выполнения всех шагов сборки.
Изображения загружаются с использованием учетных данных сервисного аккаунта сборщика.
Хэши загруженных изображений будут сохранены в поле результатов ресурса сборки.
Если какой-либо из изображений не удалось загрузить, статус сборки помечается как ОШИБКА.
steps
список
Операции, которые необходимо выполнить в рабочей области.
args
список
Список аргументов, которые будут переданы шагу при его запуске.
Если изображение, используемое для запуска контейнера шага, имеет точку входа, аргументы используются как аргументы этой точки входа. Если изображение не определяет точку входа, первый элемент в аргументах используется как точка входа, а остальные — как аргументы.
dir
строка
Рабочий каталог, используемый при запуске контейнера этого шага.
Если это относительный путь, он относительный к рабочему каталогу сборки. Если это абсолютный путь, он может находиться вне рабочего каталога сборки, в этом случае содержимое пути может не сохраняться между запусками шагов сборки, если для этого пути не указан том.
Если сборка указывает `RepoSource` с `dir`, а шаг с `dir`, который указывает абсолютный путь, `RepoSource` `dir` игнорируется для выполнения шага.
entrypoint
строка
Точка входа, используемая вместо точки входа по умолчанию изображения шага сборки.
Если не задано, используется точка входа по умолчанию изображения.
env
список
Список определений переменных среды, используемых при запуске шага.
Элементы имеют вид "KEY=VALUE", где переменная среды "KEY" получает значение "VALUE".
id
строка
Уникальный идентификатор шага сборки, используемый в `wait_for` для ссылки на этот шаг сборки в качестве зависимости.
name
строка
Имя контейнерного изображения, которое будет выполнять этот конкретный шаг сборки.
Если изображение доступно в кэше Docker-демона хоста, оно будет запущено напрямую. Если нет, хост попытается сначала скачать изображение, используя учетные данные сервисного аккаунта сборщика при необходимости.
В кэше Docker-демона хоста уже есть последние версии всех официально поддерживаемых шагов сборки (https://github.com/GoogleCloudPlatform/cloud-builders).
В кэше Docker-демона также кэшированы многие слои для некоторых популярных изображений, таких как "ubuntu", "debian", но они будут обновлены в момент попытки их использования.
Если вы создали изображение в предыдущем шаге сборки, оно будет сохранено в кэше Docker-демона хоста и доступно для использования в последующем шаге сборки.
secret_env
список
Список переменных среды, которые зашифрованы с использованием ключа шифрования Cloud Key Management Service. Эти значения должны быть указаны в `Secret` сборки.
timeout
строка
Предельное время выполнения этого шага сборки. Если не определено, шаг не имеет временного ограничения и может продолжать выполняться до завершения или истечения времени ожидания самой сборки.
timing
строка
Только для вывода. Содержит информацию о времени выполнения этого шага сборки.
volumes
список
Список томов, которые необходимо смонтировать в шаг сборки.
Каждый том создается как пустой том перед выполнением шага сборки. После завершения сборки тома и их содержимое удаляются.
Использование именованного тома только в одном шаге не является допустимым, так как это указывает на запрос сборки с неправильной конфигурацией.
name
строка
Имя тома для монтирования.
Имена томов должны быть уникальными для каждого шага сборки и должны быть допустимыми именами Docker-томов. Каждый именованный том должен использоваться как минимум двумя шагами сборки.
path
строка
Путь, по которому нужно смонтировать том.
Пути должны быть абсолютными и не должны конфликтовать с другими путями томов в одном шаге сборки или с определенными резервированными путями томов.
wait_for
список
Идентификатор(ы) шага(ов), от которого зависит этот шаг сборки.
Этот шаг сборки не будет запущен, пока все шаги сборки в `wait_for` не завершатся успешно. Если `wait_for` пусто, этот шаг сборки будет запущен после успешного завершения всех предыдущих шагов сборки в списке `Build.Steps`.
tags
список
Теги для аннотации сборки. Это не теги docker.
description
строка
Описание триггера, понятное для человека.
disabled
логическое
    Варианты:
  • no
  • yes
Отключен ли триггер. Если true, триггер никогда не приведет к сборке.
env_type
строка
Указывает, в какой среде Ansible выполняется этот модуль.
Это следует устанавливать только в том случае, если вы знаете, что делаете.
Это изменяет только строку User Agent для любых запросов API.
filename
строка
Путь к файлу от корня источника, содержимое которого используется для шаблона. Должен быть указан либо файл, либо шаблон сборки.
id
строка
Уникальный идентификатор триггера.
ignored_files
список
ignoredFiles и includedFiles — это совпадения по шаблонам файлов, использующие http://godoc/pkg/path/filepath#Match, расширенные поддержкой `**`.
Если ignoredFiles и измененные файлы оба пусты, то они не используются для определения того, нужно ли запускать сборку.
Если ignoredFiles не пусто, мы игнорируем любые файлы, соответствующие любому из шаблонов ignored_file. Если изменения не содержат файлов, которые находятся вне шаблонов ignoredFiles, то сборка не запускается.
included_files
список
ignoredFiles и includedFiles — это совпадения по шаблонам файлов, использующие http://godoc/pkg/path/filepath#Match, расширенные поддержкой `**`.
Если какие-либо из измененных в коммите файлов проходят фильтр ignoredFiles, а includedFiles пусто, то, с точки зрения этого фильтра, сборка должна запускаться.
Если какие-либо из измененных в коммите файлов проходят фильтр ignoredFiles, а includedFiles не пусто, мы проверяем, что хотя бы один из этих файлов соответствует шаблону includedFiles. Если нет, сборка не запускается.
project
строка
Проект Google Cloud Platform, который нужно использовать.
scopes
список
Массив используемых областей.
service_account_contents
jsonarg
Содержимое JSON-файла сервисного аккаунта, либо в виде словаря, либо как JSON-строка, которая его представляет.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран в качестве типа.
state
строка
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
substitutions
словарь
Данные подстановок для ресурса Build.
trigger_template
словарь
Шаблон, описывающий типы изменений исходного кода, которые должны инициировать сборку.
Имена ветвей и тегов в шаблонах триггеров интерпретируются как регулярные выражения. Любое изменение ветви или тега, которое соответствует этому регулярному выражению, запустит сборку.
branch_name
строка
Имя ветви, которую нужно собрать. Должно быть указано ровно одно из имени ветви, тега или SHA коммита.
commit_sha
строка
Явный SHA коммита для сборки. Должно быть указано ровно одно из имени ветви, тега или SHA коммита.
dir
строка
Директория, относительная к корню исходного кода, в которой нужно выполнить сборку.
Это должен быть относительный путь. Если для шага указан dir, являющийся абсолютным путем, это значение игнорируется для выполнения этого шага.
project_id
строка
Идентификатор проекта, которому принадлежит Cloud Source Repository. Если опущено, предполагается идентификатор проекта, запрашивающего сборку.
repo_name
строка
По умолчанию:
"default"
Имя Cloud Source Repository. Если опущено, предполагается имя "default".
tag_name
строка
Имя тега для сборки. Должно быть указано ровно одно из имени ветви, тега или SHA коммита.

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/cloud-build/docs/api/reference/rest/
  • Автоматизация сборок с помощью триггеров сборок: https://cloud.google.com/cloud-build/docs/running-builds/automate-builds
  • Идентификатор для этого ресурса создаётся API после первого создания ресурса. Если вы хотите управлять этим ресурсом после создания, вам нужно скопировать сгенерированный идентификатор в книгу сценариев. В противном случае новые триггеры будут создаваться при последующих запусках.
  • для аутентификации можно установить service_account_file, используя переменную среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents, используя переменную среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
  • для аутентификации можно установить service_account_email, используя переменную среды GCP_SERVICE_ACCOUNT_EMAIL.
  • для аутентификации можно установить auth_kind, используя переменную среды GCP_AUTH_KIND.
  • для аутентификации можно установить scopes, используя переменную среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения книги сценариев не установлены.
  • Параметры service_account_email и service_account_file взаимоисключают друг друга.

Примеры

- name: create a repository
  gcp_sourcerepo_repository:
    name: projects/{{ gcp_project }}/repos/{{ resource_name }}
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present

- name: create a trigger
  gcp_cloudbuild_trigger:
    trigger_template:
      branch_name: master
      project_id: test_project
      repo_name: test_object
    filename: cloudbuild.yaml
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

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

Ключ Возвращаемое значение Описание
build
complex
success
Содержимое шаблона сборки. Должен быть указан либо файл, либо шаблон сборки.

images
list
success
Список изображений, которые необходимо загрузить после успешного выполнения всех этапов сборки.
Изображения загружаются с использованием учетных данных сервисного аккаунта билдера.
Хэши загруженных изображений будут сохранены в поле результатов ресурса Сборка.
Если какое-либо из изображений не удаётся загрузить, статус сборки помечается как FAILURE.

steps
complex
success
Операции, которые необходимо выполнить в рабочей области.

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

dir
string
success
Рабочий каталог, который следует использовать при запуске контейнера этого шага.
Если это относительный путь, он относительен к рабочему каталогу сборки. Если это абсолютный путь, он может выходить за пределы рабочего каталога сборки, в этом случае содержимое пути может не сохраняться между выполнением этапов сборки, если для этого пути не указан `volume`.
Если сборка указывает `RepoSource` с `dir` и шаг с `dir`, который указывает на абсолютный путь, `dir` `RepoSource` игнорируется для выполнения шага.

entrypoint
string
success
Точка входа, которая должна использоваться вместо точки входа по умолчанию образа шага сборки.
Если не задано, используется точка входа по умолчанию образа.

env
list
success
Список определений переменных среды, которые необходимо использовать при выполнении шага.
Элементы имеют вид "KEY=VALUE", где переменной среды "KEY" присваивается значение "VALUE".

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

name
string
success
Имя образа контейнера, который будет запускать данный этап сборки.
Если образ доступен в кэше демона Docker хоста, он будет запущен непосредственно. Если нет, хост сначала попытается его скачать, используя учетные данные сервисного аккаунта билдера, если это необходимо.
Кэш демона Docker уже содержит самые последние версии всех официально поддерживаемых этапов сборки (https://github.com/GoogleCloudPlatform/cloud-builders).
Демон Docker также кэширует многие слои для некоторых популярных образов, таких как "ubuntu", "debian", но они будут обновляться в момент попытки их использования.
Если вы создали образ на предыдущем этапе сборки, он будет сохранён в кэше демона Docker хоста и доступен для использования на последующих этапах сборки.

secretEnv
list
success
Список переменных среды, которые зашифрованы с помощью криптографического ключа службы управления ключами Cloud. Эти значения должны быть указаны в `Secret` сборки.

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

timing
string
success
Только для вывода. Содержит информацию о времени выполнения этого этапа сборки.

volumes
complex
success
Список томов, которые нужно смонтировать в этап сборки.
Каждый том создаётся как пустой том до выполнения этапа сборки. По завершении сборки тома и их содержимое удаляются.
Использование именованного тома только в одном шаге недопустимо, так как это указывает на запрос сборки с неправильной конфигурацией.

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

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

waitFor
list
success
Идентификатор(ы) шага(ов), от которых зависит этот этап сборки.
Этот этап сборки не начнется, пока все этапы сборки в `wait_for` не будут выполнены успешно. Если `wait_for` пуст, этот этап сборки начнется, когда все предыдущие этапы сборки в списке `Build.Steps` будут выполнены успешно.

tags
list
success
Теги для аннотации ресурса Сборка. Это не теги Docker.

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

description
string
success
Описание триггера для удобства чтения.

disabled
boolean
success
Отключен ли триггер. Если значение true, триггер никогда не приведет к сборке.

filename
string
success
Путь (от корневого каталога источника) к файлу, содержимое которого используется для шаблона. Должен быть указан либо файл, либо шаблон сборки.

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

ignoredFiles
list
success
ignoredFiles и includedFiles — это шаблоны соответствия файлов, использующие http://godoc/pkg/path/filepath#Match с расширением поддержки `**`.
Если ignoredFiles и изменённые файлы оба пусты, они не используются для определения того, нужно ли запускать сборку.
Если ignoredFiles не пусто, мы игнорируем все файлы, соответствующие шаблонам ignored_file. Если изменения не содержат файлов, которые не соответствуют шаблонам ignoredFiles, сборка не запускается.

includedFiles
list
success
ignoredFiles и includedFiles — это шаблоны соответствия файлов, использующие http://godoc/pkg/path/filepath#Match с расширением поддержки `**`.
Если какие-либо из изменённых файлов в коммите проходят фильтр ignoredFiles, а includedFiles пусто, то с точки зрения этого фильтра сборка должна быть запущена.
Если какие-либо из изменённых файлов в коммите проходят фильтр ignoredFiles, а includedFiles не пусто, то мы убеждаемся, что хотя бы один из этих файлов соответствует шаблону includedFiles. Если нет, сборка не запускается.

substitutions
dictionary
success
Данные подстановок для ресурса Сборка.

triggerTemplate
complex
success
Шаблон, описывающий типы изменений в исходном коде, которые запускают сборку.
Имена ветвей и тегов в шаблонах триггеров интерпретируются как регулярные выражения. Любое изменение ветви или тега, соответствующее этому регулярному выражению, запустит сборку.

branchName
string
success
Имя ветви для сборки. Должен быть указан один из branchName, tag или SHA коммита.

commitSha
string
success
Явный SHA-код коммита для сборки. Должно быть указано ровно одно из значения: имя ветки, тега или SHA-код коммита.

dir
string
success
Директория, относительно корня исходного кода, в которой должна выполняться сборка.
Это должен быть относительный путь. Если для шага указана директория, и это абсолютный путь, это значение игнорируется для выполнения этого шага.

projectId
string
success
Идентификатор проекта, которому принадлежит Cloud Source Repository. Если опущено, предполагается использование идентификатора проекта, запрашивающего сборку.

repoName
string
success
Имя Cloud Source Repository. Если опущено, предполагается имя "default".

tagName
string
success
Имя тега для сборки. Должно быть указано ровно одно из значения: имя ветки, тега или SHA-код коммита.



Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Данный модуль поддерживается сообществом Ansible. [community]

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_cloudbuild_trigger_module.html

Spec-Zone.ru

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