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_IAMCAPABILITY_NAMED_IAMCAPABILITY_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 构建完全跳过部署步骤。

另请参阅 #