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 Bundle для проверки сертификатов SSL. Используется только для модулей на основе boto3. Примечание: CA Bundle читается на стороне модуля и может потребоваться явное копирование с контроллера, если запуск не локальный. | ||
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Только ключ 'user_agent' используется для модулей boto. См. 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:action", выполняемых во время задачи, выводящих набор в ключ 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 security token. Если не задан, используется значение переменной среды 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 | всегда | Информация о том, где хранятся артефакты сборки. | ||
| encryption_key string | при настройке | Ключ шифрования, используемый для шифрования хранилища артефактов, например, ключ AWS KMS. | ||
| location string | всегда | Расположение хранилища артефактов (имя ведра s3). Пример: my_s3_codepipline_bucket | ||
| type string | всегда | Тип хранилища артефактов, например, S3. Пример: S3 | ||
| name string | всегда | Имя конвейера CodePipeline. Пример: my_deploy_pipeline | ||
| role_arn string | всегда | ARN роли IAM, прикрепленной к конвейеру кода. Пример: arn:aws:iam::123123123:role/codepipeline-service-role | ||
| stages list / elements=string | всегда | Список этапов, настроенных для этого конвейера. | ||
| version integer | всегда | Номер версии конвейера. Этот номер автоматически увеличивается при изменении параметров конвейера. | ||
Авторы
- Stefan Horning (@stefanhorning) <horning@mediapeers.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/aws_codepipeline_module.html