aws_codepipeline – Создание или удаление AWS CodePipelines
Новая версия 2.9.
Описание
- Создание или удаление 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. псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key строка | AWS секретный ключ. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | ||
| debug_botocore_endpoint_logs логическая переменная добавлено в 2.8 |
| Используйте логгер botocore.endpoint для разбора уникальных (а не общих) API-вызовов "resource:action", выполненных во время задачи, выведя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в полный список, созданный во время выполнения книги сценариев. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не задано, используется значение переменной окружения EC2_URL, если она есть. | ||
| name - / обязательно | Имя пайплайна | ||
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| 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. псевдонимы: access_token | ||
| stages - / обязательно | Список этапов для выполнения в CodePipeline. Список словарей, содержащих имя и действия для каждого этапа. | ||
| actions - | Список конфигураций действий для данного этапа. | ||
| name - | Имя этапа (шага) в codepipeline | ||
| state - |
| Создание или удаление пайплайна | |
| validate_certs логическая переменная |
| При установке в значение "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. | |
| version - | Номер версии пайплайна. Этот номер автоматически увеличивается при обновлении пайплайна. | ||
Примечания
Примечание
- Подробную информацию о параметрах и возвращаемых значениях см. на http://boto3.readthedocs.io/en/latest/reference/services/codepipeline.html
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
AWS_URLилиEC2_URL,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 - 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)
- 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 | всегда | Расположение хранилища артефактов (имя ведра 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 | всегда | Список этапов, настроенных для этого конвейера. | ||
| version integer | всегда | Номер версии конвейера. Этот номер автоматически увеличивается при изменении параметров конвейера. | ||
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/aws_codepipeline_module.html