community.aws.aws_codepipeline – Создание или удаление AWS CodePipelines
Примечание
Этот плагин входит в коллекцию community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.aws_codepipeline.
В версии 1.0.0: из community.aws
Обзор
- Создание или удаление CodePipeline в AWS.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| artifact_store словарь / обязательно | Информация о местоположении, где хранятся артефакты (в S3). Словарь с полями type и location. | ||
| location строка | Имя ведра для артефактов. | ||
| type строка | Тип хранилища артефактов (в настоящее время поддерживается только 'S3'). | ||
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если установлен параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_access_key и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_access_key, access_key | ||
| aws_ca_bundle путь | Местоположение файла сертификатов CA для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: Файл сертификатов CA читается со стороны модуля и может потребоваться его явное копирование с контроллера, если выполнение не локальное. | ||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для дополнительной конфигурации boto. | ||
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если установлен параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_secret_key и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | ||
| debug_botocore_endpoint_logs логический |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, вывода набора в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует. псевдонимы: aws_endpoint_url, endpoint_url | ||
| name строка / обязательно | Имя конвейера | ||
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token. Поддержка одновременного указания profile с этими параметрами устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | ||
| region строка | Регион AWS для использования. Если не задан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она существует. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | ||
| role_arn строка / обязательно | ARN роли IAM для использования при выполнении конвейера | ||
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если установлен параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | ||
| stages список / элементы=словарь / обязательно | Список этапов для выполнения в CodePipeline. Список словарей, содержащих имя и действия для каждого этапа. | ||
| actions список / элементы=словарь | Список конфигураций действий для этого этапа. См. документацию boto3 для полной документации по подпараметрам: | ||
| name строка | Имя этапа (шага) в коде конвейера | ||
| state строка |
| Создание или удаление кода конвейера | |
| validate_certs логический |
| При значении «нет» SSL-сертификаты для boto-версий >= 2.6.0 не будут проверяться. | |
| version целое число | Номер версии конвейера. Этот номер автоматически увеличивается при обновлении конвейера. | ||
Примечания
Примечание
- Подробную информацию о параметрах и возвращаемых значениях см. в http://boto3.readthedocs.io/en/latest/reference/services/codepipeline.html
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION,AWS_CA_BUNDLE - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, если это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Example for creating a pipeline for continuous deploy of Github code to an ECS cluster (container)
- community.aws.aws_codepipeline:
name: my_deploy_pipeline
role_arn: arn:aws:iam::123456:role/AWS-CodePipeline-Service
artifact_store:
type: S3
location: my_s3_codepipline_bucket
stages:
- name: Get_source
actions:
-
name: Git_pull
actionTypeId:
category: Source
owner: ThirdParty
provider: GitHub
version: '1'
outputArtifacts:
- { name: my-app-source }
configuration:
Owner: mediapeers
Repo: my_gh_repo
PollForSourceChanges: 'true'
Branch: master
# Generate token like this:
# https://docs.aws.amazon.com/codepipeline/latest/userguide/GitHub-rotate-personal-token-CLI.html
# GH Link: https://github.com/settings/tokens
OAuthToken: 'abc123def456'
runOrder: 1
- name: Build
actions:
-
name: CodeBuild
actionTypeId:
category: Build
owner: AWS
provider: CodeBuild
version: '1'
inputArtifacts:
- { name: my-app-source }
outputArtifacts:
- { name: my-app-build }
configuration:
# A project with that name needs to be setup on AWS CodeBuild already (use code_build module).
ProjectName: codebuild-project-name
runOrder: 1
- name: ECS_deploy
actions:
-
name: ECS_deploy
actionTypeId:
category: Deploy
owner: AWS
provider: ECS
version: '1'
inputArtifacts:
- { name: vod-api-app-build }
configuration:
# an ECS cluster with that name needs to be setup on AWS ECS already (use ecs_cluster and ecs_service module)
ClusterName: ecs-cluster-name
ServiceName: ecs-cluster-service-name
FileName: imagedefinitions.json
region: us-east-1
state: present
Возвращаемые значения
Общие возвращаемые значения документированы в здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| pipeline complex | success | Возвращает словарь, описывающий конфигурацию конвейера кода. | ||
| artifact_store complex | always | Информация о том, где хранятся артефакты сборки. | ||
| encryption_key string | при конфигурировании | Ключ шифрования, используемый для шифрования хранилища артефактов, например, ключ AWS KMS. | ||
| location string | always | Расположение хранилища артефактов (имя ведра s3). Пример: my_s3_codepipline_bucket | ||
| type string | always | Тип хранилища артефактов, например, S3. Пример: S3 | ||
| name string | always | Имя CodePipeline. Пример: my_deploy_pipeline | ||
| role_arn string | always | ARN роли IAM, прикрепленной к конвейеру кода. Пример: arn:aws:iam::123123123:role/codepipeline-service-role | ||
| stages list / elements=string | always | Список этапов, настроенных для этого конвейера. | ||
| version integer | always | Номер версии конвейера. Этот номер автоматически увеличивается при изменении параметров конвейера. | ||
Авторы
- Stefan Horning (@stefanhorning) <horning@mediapeers.com>
© 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/community/aws/aws_codepipeline_module.html