AWS OpsWorks 部署
此页面记录了使用下一个主要版本 dpl v2 的部署,该版本目前处于 beta 发布阶段。有关详细信息,请参见 我们的博客文章。当前的默认版本是 dpl v1。请查看 dpl v1 文档.
请务必阅读 v2 部署概述.
Travis CI 可以在构建成功后自动部署您的 AWS OpsWorks 应用程序。
对于最小配置,请将以下内容添加到您的 .travis.yml
中
deploy:
provider: opsworks
access_key_id: <encrypted access_key_id>
secret_access_key: <encrypted secret_access_key>
app_id: <app_id>
edge: true # opt in to dpl v2
您可以从 这里 获取您的 AWS 访问密钥 ID 和 AWS 秘密访问密钥。
region
默认设置为 us-east-1
。如果您的应用程序位于其他区域,您将看到错误 无法找到应用程序
。
状态 #
对 AWS OpsWorks 部署的支持是 *稳定的**。
已知选项 #
使用以下选项来进一步配置部署。
access_key_id |
AWS 访问密钥 ID — **必需**,**机密**,类型:字符串 |
secret_access_key |
AWS 秘密密钥 — **必需**,**机密**,类型:字符串 |
app_id |
应用程序 ID — **必需**,类型:字符串 |
region |
AWS 区域 — 类型:字符串,默认值:us-east-1 |
instance_ids |
实例 ID — 类型:字符串或字符串数组 |
layer_ids |
层 ID — 类型:字符串或字符串数组 |
migrate |
迁移数据库。— 类型:布尔值 |
wait_until_deployed |
等待应用程序部署并返回部署状态。— 类型:布尔值 |
update_on_success |
当 wait-until-deployed 和 updated-on-success 都不提供时,应用程序源代码将更新为当前 SHA。当 wait-until-deployed 未提供时,将被忽略。— 类型:布尔值,别名:update_app_on_success |
custom_json |
自定义 JSON 选项覆盖(覆盖默认配置)— 类型:字符串 |
共享选项 #
cleanup |
在部署之前清理 Git 工作目录中的构建工件 — 类型:布尔值 |
run |
部署成功完成后的执行命令 — 类型:字符串或字符串数组 |
环境变量 #
如果所有选项以 AWS_
或 OPSWORKS_
为前缀,则可以作为环境变量提供。
例如,access_key_id
可以提供为
AWS_ACCESS_KEY_ID=<access_key_id>
或OPSWORKS_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>
迁移数据库 #
如果您想在 travis 中将 rails 数据库迁移到 AWS OpsWorks,请添加 migrate
选项
deploy:
provider: opsworks
# ⋮
migrate: true
等待部署 #
默认情况下,构建将在触发 OpsWorks 部署后立即继续。要等待部署完成,请使用 wait_until_deployed
选项
deploy:
provider: opsworks
# ⋮
wait_until_deployed: true
Travis CI 将等待最多 10 分钟,直到部署完成,并记录是否成功。
在部署成功后更新应用程序设置 #
默认情况下,Travis CI 中的部署会触发 OpsWorks 上的部署,但不会触及任何其他配置。要更新应用程序设置中的修订版,请使用 update_app_on_success
选项。此外,您还必须设置 wait_until_deployed
选项
deploy:
provider: opsworks
# ⋮
wait-until-deployed: true
update-app-on-success: true
Travis CI 将等待直到部署返回成功,然后才会更新应用程序设置中的修订版。
拉取请求 #
请注意,拉取请求构建会完全跳过部署步骤。