google.cloud.gcp_cloudbuild_trigger_info – Сбор информации для триггера GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в книге задач укажите: google.cloud.gcp_cloudbuild_trigger_info.
Обзор
- Сбор информации для триггера GCP
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. |
| env_type строка | Указывает, в какой среде Ansible выполняется этот модуль. Не устанавливайте это, если вы не знаете, что делаете. Это изменяет только строку User Agent для любых запросов к API. | |
| project строка | Проект Google Cloud Platform для использования. | |
| scopes список / элементы=строка | Массив используемых областей доступа | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, представленное либо в виде словаря, либо как JSON-строка. | |
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи службы, если в качестве типа выбрана serviceaccount. |
Примечания
Примечание
- для аутентификации можно установить service_account_file с помощью переменной окружения
gcp_service_account_file. - для аутентификации можно установить service_account_contents с помощью переменной окружения
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: get info on a trigger
gcp_cloudbuild_trigger_info:
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключевые параметры | Возвращаемое значение | Описание | |||||
|---|---|---|---|---|---|---|---|
| ресурсы сложный | всегда | Список ресурсов | |||||
| сборка сложный | успешно | Содержимое шаблона сборки. Должен быть указан либо файл, либо шаблон сборки. | |||||
| артефакты сложный | успешно | Артефакты, созданные в результате сборки, которые должны быть загружены после успешного выполнения всех этапов сборки. | |||||
| изображения список / элементы=строка | успешно | Список изображений, которые нужно загрузить после успешного выполнения всех этапов сборки. Изображения будут загружены с использованием учетных данных сервисного аккаунта билдера. Хэши загруженных изображений будут сохранены в поле результатов ресурса сборки. Если какое-либо из изображений не удалось загрузить, сборка помечается как НЕУДАЧНАЯ. | |||||
| объекты сложный | успешно | Список объектов, которые нужно загрузить в хранилище Google Cloud после успешного выполнения всех этапов сборки. Файлы в рабочей области, соответствующие указанным шаблонам путей, будут загружены в расположение хранилища Google Cloud с использованием учетных данных сервисного аккаунта билдера. Расположение и данные загруженных объектов будут сохранены в поле результатов ресурса сборки. Если какой-либо из объектов не удалось загрузить, сборка помечается как НЕУДАЧНАЯ. | |||||
| местоположение строка | успешно | Ведро Google Cloud Storage и необязательный путь к объекту в формате "gs://bucket/path/to/somewhere/". Файлы в рабочей области, соответствующие любому шаблону пути, будут загружены в Google Cloud Storage с этим местоположением в качестве префикса. | |||||
| пути список / элементы=строка | успешно | Шаблоны путей, используемые для сопоставления файлов в рабочей области сборки. | |||||
| время сложный | успешно | Только для вывода. Содержит информацию о времени загрузки всех артефактов. | |||||
| endTime строка | успешно | Конец временного интервала. Отметка времени в формате RFC3339 UTC "Zulu" с разрешением в наносекунды и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z". | |||||
| startTime строка | успешно | Начало временного интервала. Отметка времени в формате RFC3339 UTC "Zulu" с разрешением в наносекунды и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z". | |||||
| изображения список / элементы=строка | успешно | Список изображений, которые нужно загрузить после успешного выполнения всех этапов сборки. Изображения загружаются с использованием учетных данных сервисного аккаунта билдера. Хэши загруженных изображений будут сохранены в поле результатов ресурса сборки. Если какое-либо из изображений не удалось загрузить, статус сборки помечается как НЕУДАЧНЫЙ. | |||||
| logsBucket строка | успешно | Ведро Google Cloud Storage, в котором должны быть записаны журналы. Имена файлов журналов будут иметь формат ${logsBucket}/log-${build_id}.txt. | |||||
| параметры сложный | успешно | Специальные параметры для этой сборки. | |||||
| diskSizeGb целое число | успешно | Запрашиваемый размер диска для виртуальной машины, на которой выполняется сборка. Обратите внимание, что это НЕ "свободное место на диске"; часть пространства будет использоваться операционной системой и утилитами сборки. Также обратите внимание, что это минимальный размер диска, который будет выделен для сборки — сборка может выполняться с диском большего размера, чем запрошенное значение. В настоящее время максимальный размер диска составляет 1000 ГБ; сборки, запрашивающие больше, чем максимальный размер, отклоняются с ошибкой. | |||||
| dynamicSubstitutions логический | успешно | Вариант для указания применения операций с подстановкой строк в стиле bash. ПРИМЕЧАНИЕ. Это всегда включено для триггерных сборок и не может быть переопределено в файле конфигурации сборки. | |||||
| env список / элементы=строка | успешно | Список глобальных определений переменных среды, которые будут существовать для всех этапов сборки в этой сборке. Если переменная определена как глобально, так и на этапе сборки, переменная будет использовать значение этапа сборки. Элементы имеют вид "KEY=VALUE" для переменной среды "KEY", которой задаётся значение "VALUE". | |||||
| logging строка | успешно | Вариант для указания режима ведения журналов, который определяет, сохраняются ли и где сохраняются журналы сборки. | |||||
| logStreamingOption строка | успешно | Вариант для определения поведения потоковой передачи журналов сборки в Google Cloud Storage. | |||||
| machineType строка | успешно | Тип машины Compute Engine, на которой будет выполняться сборка. | |||||
| requestedVerifyOption строка | успешно | Запрашиваемые варианты проверки. | |||||
| secretEnv список / элементы=строка | успешно | Список глобальных переменных среды, которые зашифрованы с помощью ключа шифрования Cloud Key Management Service. Эти значения должны быть указаны в секретах сборки. Эти переменные будут доступны всем этапам сборки в этой сборке. | |||||
| sourceProvenanceHash список / элементы=строка | успешно | Запрошенный хэш для SourceProvenance. | |||||
| substitutionOption строка | успешно | Вариант для указания поведения при возникновении ошибки в проверке подстановки. ПРИМЕЧАНИЕ. Это всегда устанавливается в ALLOW_LOOSE для триггерных сборок и не может быть переопределено в файле конфигурации сборки. | |||||
| volumes сложный | успешно | Глобальный список томов, которые нужно смонтировать для ВСЕХ этапов сборки. Каждый том создаётся как пустой том перед началом процесса сборки. После завершения сборки тома и их содержимое удаляются. Имена и пути глобальных томов не должны конфликтовать с томами, определёнными на этапе сборки. Использование глобального тома в сборке с единственным этапом не является допустимым, так как это указывает на запрос сборки с неправильной конфигурацией. | |||||
| name строка | успешно | Имя тома для монтирования. Имена томов должны быть уникальными для каждого этапа сборки и должны быть допустимыми именами для томов Docker. Каждое имя тома должно использоваться, по крайней мере, двумя этапами сборки. | |||||
| path строка | успешно | Путь, по которому будет смонтирован том. Пути должны быть абсолютными и не должны конфликтовать с другими путями томов на том же этапе сборки или с определёнными зарезервированными путями томов. | |||||
| workerPool строка | успешно | Вариант для указания WorkerPool для сборки. Формат projects/{project}/workerPools/{workerPool}. Это экспериментальное поле. | |||||
| queueTtl string | success | Время ожидания в очереди для данного билда. Если задано и билда находится в очереди дольше этого значения, билда истечет, и статус билда будет EXPIRED. Время ожидания начинает отсчёт с createTime. Продолжительность в секундах с до девятью десятичными знаками, заканчивающаяся на 's'. Пример: "3.5s". | |||||
| secrets complex | success | Секреты для расшифровки с помощью службы Cloud Key Management Service. | |||||
| kmsKeyName string | success | Имя ключа Cloud KMS для расшифровки этих переменных окружения. | |||||
| secretEnv dictionary | success | Словарь, отображающий имена переменных окружения и их зашифрованные значения. Секретные переменные окружения должны быть уникальными для всех секретов билда и должны использоваться, по крайней мере, одним шагом билда. Значения могут иметь размер не более 64 КБ. Всего может быть не более 100 секретных значений в рамках всех секретов билда. | |||||
| source complex | success | Расположение исходных файлов для сборки. | |||||
| repoSource complex | success | Расположение исходного кода в хранилище Google Cloud Source Repository. | |||||
| branchName string | success | Регулярное выражение, сопоставляющее ветки для сборки. Должно быть указано ровно одно из имени ветки, тега или SHA коммита. Синтаксис поддерживаемых регулярных выражений соответствует синтаксису RE2, описанному по адресу https://github.com/google/re2/wiki/Syntax . | |||||
| commitSha string | success | Явное значение SHA коммита для сборки. Должно быть указано ровно одно из имени ветки, тега или SHA коммита. | |||||
| dir string | success | Директория, относительная к корню исходного кода, в которой необходимо выполнить сборку. Это должен быть относительный путь. Если в шаге указан абсолютный путь для dir, это значение игнорируется для выполнения этого шага. | |||||
| invertRegex boolean | success | Вызывать сборку только в том случае, если регулярное выражение не соответствует переданной ревизии. | |||||
| projectId string | success | Идентификатор проекта, владеющего хранилищем Cloud Source Repository. Если опущено, используется идентификатор проекта, запрашивающего билда. | |||||
| repoName string | success | Имя хранилища Cloud Source Repository. | |||||
| substitutions dictionary | success | Подстановки, используемые в триггерном билде. Должны использоваться только с `triggers.run`. | |||||
| tagName string | success | Регулярное выражение, сопоставляющее теги для сборки. Должно быть указано ровно одно из имени ветки, тега или SHA коммита. Синтаксис поддерживаемых регулярных выражений соответствует синтаксису RE2, описанному по адресу https://github.com/google/re2/wiki/Syntax . | |||||
| storageSource complex | success | Расположение исходного кода в архиве в Google Cloud Storage. | |||||
| bucket string | success | Ведро Google Cloud Storage, содержащее исходный код. | |||||
| generation string | success | Номер генерации объекта в Google Cloud Storage. Если номер генерации опущен, будет использоваться последняя генерация. | |||||
| object string | success | Объект в Google Cloud Storage, содержащий исходный код. Этот объект должен быть сжатым архивом (.tar.gz), содержащим исходный код для сборки. | |||||
| steps complex | success | Операции, которые необходимо выполнить в рабочей области. | |||||
| args list / elements=string | success | Список аргументов, которые будут переданы шагу при его запуске. Если в образе, используемом для запуска контейнера шага, задан entrypoint, аргументы используются в качестве аргументов для этого entrypoint. Если в образе не задан entrypoint, первый элемент в args используется в качестве entrypoint, а остальные — в качестве аргументов. | |||||
| dir string | success | Рабочая директория, используемая при запуске контейнера этого шага. Если это относительный путь, он относительный к рабочей директории билда. Если это абсолютный путь, он может находиться вне рабочей директории билда, в этом случае содержимое пути может не сохраняться между запусками шагов билда, если не указан `volume` для этого пути. Если в билде указан `RepoSource` с `dir` и шаг со своим `dir`, который задает абсолютный путь, `RepoSource` `dir` игнорируется для выполнения шага. | |||||
| entrypoint string | success | Entrypoint, который нужно использовать вместо стандартного entrypoint образа билда. Если не задано, используется стандартный entrypoint образа. | |||||
| env list / elements=string | 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 / elements=string | success | Список переменных окружения, которые шифруются с помощью ключа криптографической службы Cloud Key Management Service. Эти значения должны быть указаны в `Secret` билда. | |||||
| timeout string | success | Срок выполнения данного шага билда. Если не задано, у шага нет ограничения по времени, и он будет выполняться до завершения либо истечения срока билда. | |||||
| время выполнения строка | успех | Только вывод. Содержит информацию о времени выполнения этого этапа сборки. | |||||
| объемы сложное | успех | Список объемов для монтирования в этап сборки. Каждый объем создается как пустой перед выполнением этапа сборки. По завершении сборки объемы и их содержимое удаляются. Использование именованного объема только в одном шаге недопустимо, так как это указывает на запрос сборки с неправильной конфигурацией. | |||||
| имя строка | успех | Имя монтируемого объема. Имена объемов должны быть уникальными для каждого этапа сборки и должны быть допустимыми именами для Docker-объемов. Каждый именованный объем должен использоваться по крайней мере двумя этапами сборки. | |||||
| путь строка | успех | Путь для монтирования объема. Пути должны быть абсолютными и не должны конфликтовать с другими путями объемов на том же этапе сборки или с определенными зарезервированными путями объемов. | |||||
| waitFor список / элементы=строка | успех | Идентификатор(ы) шага(ов), от которого зависит этот этап сборки. Этот этап сборки не начнется, пока все этапы сборки в `wait_for` не завершатся успешно. Если `wait_for` пустой, этот этап сборки начнется, когда все предыдущие этапы сборки в списке `Build.Steps` завершатся успешно. | |||||
| замены словарь | успех | Данные замещений для ресурса Build. | |||||
| метки список / элементы=строка | успех | Метки для аннотации сборки. Это не docker-метки. | |||||
| таймаут строка | успех | Время, в секундах, которое должно быть выделено для выполнения этой сборки. Если это время истечет, работа над сборкой прекратится, а статус сборки будет TIMEOUT. Этот таймаут должен быть равен или больше суммы таймаутов для этапов сборки в рамках сборки. Ожидаемый формат - количество секунд, за которым следует s. Значение по умолчанию - десять минут (600s). | |||||
| время создания строка | успех | Время создания триггера. | |||||
| описание строка | успех | Описание триггера, понятное для человека. | |||||
| выключен булево | успех | Отключен ли триггер. Если true, триггер никогда не приведет к сборке. | |||||
| имя файла строка | успех | Путь от корня источника до файла, содержимое которого используется для шаблона. Должен быть указан либо файл, либо шаблон сборки. | |||||
| идентификатор строка | успех | Уникальный идентификатор триггера. | |||||
| игнорируемые файлы список / элементы=строка | успех | ignoredFiles и includedFiles — это шаблоны совпадения файлов, использующие https://golang.org/pkg/path/filepath/#Match с расширением для поддержки `**`. Если ignoredFiles и измененные файлы оба пустые, то они не используются для определения того, нужно ли запускать сборку. Если ignoredFiles не пусто, то мы игнорируем все файлы, которые соответствуют любому из шаблонов ignored_file. Если изменения не содержат файлов, которые не попадают под шаблоны ignoredFiles, то мы не запускаем сборку. | |||||
| включенные файлы список / элементы=строка | успех | ignoredFiles и includedFiles — это шаблоны совпадения файлов, использующие https://golang.org/pkg/path/filepath/#Match с расширением для поддержки `**`. Если какие-либо из измененных в коммите файлов проходят фильтр ignoredFiles, а includedFiles пусто, то, с точки зрения этого фильтра, мы должны запустить сборку. Если какие-либо из измененных в коммите файлов проходят фильтр ignoredFiles, а includedFiles не пусто, то мы проверяем, что хотя бы один из этих файлов соответствует шаблону includedFiles. Если нет, то мы не запускаем сборку. | |||||
| имя строка | успех | Имя триггера. Должно быть уникальным в рамках проекта. | |||||
| замены словарь | успех | Данные замещений для ресурса Build. | |||||
| метки список / элементы=строка | успех | Метки для аннотации BuildTrigger. | |||||
| шаблон триггера сложное | успех | Шаблон, описывающий типы изменений в источнике, которые запускают сборку. Имена ветвей и тегов в шаблонах триггеров интерпретируются как регулярные выражения. Любое изменение ветви или тега, которое соответствует этому регулярному выражению, запустит сборку. | |||||
| имя ветки строка | успех | Имя ветки для сборки. Должен быть указан ровно один из имени ветки, тега или SHA коммита. Это поле — регулярное выражение. | |||||
| commitSha строка | успех | Явное значение SHA коммита для сборки. Должен быть указан ровно один из имени ветки, тега или SHA коммита. | |||||
| каталог строка | успех | Директория, относительная к корню источника, в которой будет выполнена сборка. Это должен быть относительный путь. Если для шага указан абсолютный путь, это значение игнорируется для выполнения этого шага. | |||||
| инвертироватьRegex булево | успех | Запускать сборку только если регулярное выражение не соответствует ревизии. | |||||
| идентификатор проекта строка | успех | Идентификатор проекта, владеющего Cloud Source Repository. Если опущено, используется идентификатор проекта, запрашивающего сборку. | |||||
| имя репозитория строка | успех | Имя Cloud Source Repository. Если опущено, принимается значение «default». | |||||
| имя тега строка | успех | Имя тега для сборки. Должен быть указан ровно один из имени ветки, тега или SHA коммита. Это поле — регулярное выражение. | |||||
Авторы
- 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.10/collections/google/cloud/gcp_cloudbuild_trigger_info_module.html