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 应用程序。请参见项目中的其他分支,了解托管虚拟机示例以及不使用此提供程序的示例。

拉取请求 #

请注意,拉取请求构建完全跳过部署步骤。

另请参阅 #