Google App Engine 部署
此页面记录使用下一个主要版本 dpl v2 的部署,该版本目前处于测试版发布阶段。请参见 我们的博客文章 以获取详细信息。当前默认版本为 dpl v1。请查看 dpl v1 文档。
请务必阅读 v2 部署概述。
Travis CI 可以在成功构建后自动部署到 Google App Engine 或 托管虚拟机。
对于最小配置,请将以下内容添加到您的 .travis.yml
中
deploy:
provider: gae
keyfile: <keyfile>
edge: true # opt in to dpl v2
然后转到 Google Cloud Console 仪表板 并且
- 启用“Google App Engine 管理员 API”,
- 转到“凭据”,点击“添加凭据”和“服务帐户密钥”,最后点击“JSON”下载您的服务帐户 JSON 文件。
将此文件作为 加密文件 添加到您的存储库和 .travis.yml
文件中。
状态 #
对 Google App Engine 部署的支持是 *稳定的**。
已知选项 #
使用以下选项进一步配置部署。
项目 |
用于标识 Google Cloud 上项目的项目 ID - **必需**,类型:字符串 |
密钥文件 |
包含您的服务帐户凭据的 JSON 文件的路径,以 JSON Web Token 格式。通过 Google Developers Console 获取。应谨慎处理,因为它包含授权密钥。- 类型:字符串,默认值:service-account.json |
配置 |
您服务配置文件的路径 - 类型:字符串或字符串数组,默认值:app.yaml |
版本 |
将由此部署创建或替换的应用程序版本。如果您没有指定版本,将为您生成一个版本 - 类型:字符串 |
详细程度 |
调整日志详细程度 - 类型:字符串,默认值:warning |
提升 |
是否提升已部署版本 - 类型:布尔值,默认值:true |
停止先前版本 |
阻止部署停止先前提升的版本 - 类型:布尔值,默认值:true |
安装 SDK |
是否安装 Google Cloud SDK - 类型:布尔值,默认值:true |
共享选项 #
清理 |
在部署之前清理 Git 工作目录中的构建工件 - 类型:布尔值 |
运行 |
部署成功完成后要执行的命令 - 类型:字符串或字符串数组 |
要部署的项目 #
默认情况下,项目将使用与存储库相同的名称进行部署。通常,您需要显式配置 **项目** 选项以匹配在云控制台中找到的项目 ID(请注意,这有时与项目名称相同,但并不总是相同)。
您可以通过 **项目** 选项显式设置项目 ID
deploy:
provider: gae
# ⋮
project: continuous-deployment-demo
要部署的版本 #
必须设置 version
标志或 default
选项。如果 default 为 true,则将部署到默认版本,这将是 http://project-id.appspot.com
。如果改为设置 version
标志,它将部署到 http://version.project-id.appspot.com
。
不提升部署 #
默认情况下,当您的应用程序部署时,它将被提升以接收所有流量。您可以使用 no_promote
选项禁用该选项
deploy:
provider: gae
# ⋮
no_promote: true
除此之外,根据 Google Cloud SDK 变更日志,“在未来的 Cloud SDK 版本中,将提升新版本以接收所有流量的部署将默认停止先前版本”。
您可以通过设置选项 no_stop_previous_version
来阻止这种情况发生
deploy:
provider: gae
# ⋮
no_stop_previous_version: true
示例存储库 #
请参见 此存储库,了解配置了 Travis 部署的示例 App Engine 应用程序。请参见项目中的其他分支,了解托管虚拟机示例以及不使用此提供程序的示例。
拉取请求 #
请注意,拉取请求构建完全跳过部署步骤。