AWS CloudFormation
此页面记录了使用下一个主要版本 dpl v2 的部署,该版本目前处于测试版阶段。请参阅 我们的博文 获取详细信息。当前默认版本为 dpl v1。请查看 此处提供的 dpl v1 文档。
请务必阅读 v2 部署概述。
Travis CI 可以在构建成功后自动将文件部署到 AWS CloudFormation。
对于最小配置,请将以下内容添加到您的 .travis.yml
中
deploy:
provider: cloudformation
access_key_id: <encrypted access_key_id>
secret_access_key: <encrypted secret_access_key>
template: <template>
stack_name: <stack_name>
edge: true # opt in to dpl v2
状态 #
对 AWS CloudFormation 的部署支持是 *稳定的**。
已知选项 #
使用以下选项进一步配置部署。
access_key_id |
AWS 访问密钥 ID — **必需**,**密钥**,类型:字符串 |
secret_access_key |
AWS 密钥 — **必需**,**密钥**,类型:字符串 |
region |
要部署到的 AWS 区域 — 类型:字符串,默认值:us-east-1 |
template |
CloudFormation 模板文件 — **必需**,类型:字符串,注意:可以是本地路径或 S3 URL |
stack_name |
CloudFormation 堆栈名称。— **必需**,类型:字符串 |
stack_name_prefix |
CloudFormation 堆栈名称前缀。— 类型:字符串 |
promote |
部署更改 — 类型:布尔值,默认值:true ,注意:否则将创建更改集 |
role_arn |
AWS 角色 ARN — 类型:字符串 |
sts_assume_role |
用于跨账户部署的 AWS 角色 ARN(Travis 使用给定的 AWS 凭据假设)。— 类型:字符串 |
capabilities |
CloudFormation 允许的功能 — 类型:字符串或字符串数组,已知值:CAPABILITY_IAM 、CAPABILITY_NAMED_IAM 、CAPABILITY_AUTO_EXPAND ,请参阅:https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html |
wait |
等待 CloutFormation 完成堆栈创建和更新 — 类型:布尔值,默认值:true |
wait_timeout |
等待堆栈创建和更新多少秒。— 类型:整数,默认值:3600 |
create_timeout |
堆栈状态变为 CREATE_FAILED 之前等待多少秒 — 类型:整数,默认值:3600 ,注意:仅在创建堆栈时有效 |
parameters |
键值对或 ENV 变量名称 — 类型:字符串或字符串数组 |
output_file |
要存储 CloudFormation 输出到的输出文件路径 — 类型:字符串 |
共享选项 #
cleanup |
在部署之前清理 Git 工作目录中的构建工件 — 类型:布尔值 |
run |
在部署成功完成后要执行的命令 — 类型:字符串或字符串数组 |
环境变量 #
如果所有选项以 AWS_
或 CLOUDFORMATION_
为前缀,则可以作为环境变量提供。
例如,access_key_id
可以作为
AWS_ACCESS_KEY_ID=<access_key_id>
或CLOUDFORMATION_ACCESS_KEY_ID=<access_key_id>
保护密钥 #
密钥选项值应作为构建配置(.travis.yml
文件)中的加密字符串或存储库设置中的环境变量提供。
可以在存储库的设置页面上设置环境变量,或使用 travis env set
travis env set AWS_ACCESS_KEY_ID <access_key_id>
为了在将选项值添加到 .travis.yml
文件时对其进行加密,请使用 travis encrypt
travis encrypt <access_key_id>
或者使用 --add
将其直接添加到 .travis.yml
文件中。请注意,此命令必须在存储库的根目录中运行
travis encrypt --add deploy.access_key_id <access_key_id>
Pull Request #
请注意,Pull Request 构建完全跳过部署步骤。