Google Cloud Storage (GCS) 部署

此页面记录了使用下一个主要版本 dpl v2 的部署,该版本目前处于 Beta 发布阶段。有关详细信息,请参阅 我们的博文。当前默认版本为 dpl v1。请查看 此处提供的 dpl v1 文档

请务必阅读 v2 部署概述

Travis CI 支持上传到 Google Cloud Storage (GCS)。

对于最小配置,请将以下内容添加到您的 .travis.yml

deploy:
  provider: gcs
  key_file: <key_file>
  bucket: <bucket>
  edge: true # opt in to dpl v2

或者,您可以使用 access_key_idsecret_access_key

deploy:
  provider: gcs
  access_key_id: <encrypted access_key_id>
  secret_access_key: <encrypted secret_access_key>
  bucket: <bucket>

建议使用 服务帐户密钥文件 进行身份验证,并将其作为 加密文件 添加到您的存储库中。或者,您可以在此处找到每个用户的 GCS 可互操作访问密钥 此处

状态 #

对 Google Cloud Store 部署的支持处于 *稳定* 状态。

已知选项 #

使用以下选项进一步配置部署。需要 key_fileaccess_key_idsecret_access_key

key_file GCS 服务帐户密钥 JSON 文件的路径 - 类型:字符串
access_key_id GCS 可互操作访问密钥 ID - **秘密**,类型:字符串
secret_access_key GCS 可互操作访问密钥 - **秘密**,类型:字符串
bucket GCS 存储桶 - **必需**,类型:字符串
local_dir 要上传的本地目录 - 类型:字符串,默认值:.
upload_dir 要上传到的 GCS 目录 - 类型:字符串
dot_match 上传以点开头的隐藏文件 - 类型:布尔值
acl 为上传的对象设置的访问控制 - 类型:字符串,默认值:private,已知值:privatepublic-readpublic-read-writeauthenticated-readbucket-owner-readbucket-owner-full-control,请参阅:https://cloud.google.com/storage/docs/reference-headers#xgoogacl
detect_encoding 为使用 gzip 和 compress 实用程序压缩的文件设置 HTTP 标头 Content-Encoding。 - 类型:布尔值
cache_control HTTP 标头 Cache-Control,建议浏览器缓存文件。 - 类型:字符串,请参阅:https://cloud.google.com/storage/docs/xml-api/reference-headers#cachecontrol
glob 类型:字符串,默认值:**/*

共享选项 #

cleanup 在部署之前清理 Git 工作目录中的构建工件 - 类型:布尔值
run 在部署成功完成之后要执行的命令 - 类型:字符串或字符串数组

环境变量 #

如果所有选项以 GCS_ 为前缀,则可以作为环境变量给出。

例如,access_key_id 可以作为 GCS_ACCESS_KEY_ID=<access_key_id> 给出。

保护密钥 #

秘密选项值应作为构建配置(.travis.yml 文件)中的加密字符串或存储库设置中的环境变量给出。

环境变量可以在存储库的设置页面上设置,或使用 travis env set 设置。

travis env set GCS_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>

部署特定文件夹 #

您可以使用 local-dir 选项设置要上传的特定目录,如下所示

deploy:
  provider: gcs
  # ⋮
  local_dir: ./build

指定 ACL #

您可以通过 acl 选项设置上传文件的 acl,如下所示

deploy:
  provider: gcs
  # ⋮
  acl: public-read

请参阅 Google Cloud 上的完整文档

HTTP 缓存控制 #

GCS 上传可以选择设置 Cache-Control HTTP 标头。

设置 HTTP 标头 Cache-Control 以建议浏览器缓存文件。

deploy:
  provider: gcs
  # ⋮
  cache_control: max-age=31536000

请参阅 Google Cloud 上的完整文档

Pull Request #

请注意,Pull Request 构建完全跳过部署步骤。

另请参阅 #