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_id
和 secret_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_file
或 access_key_id
和 secret_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 ,已知值:private 、public-read 、public-read-write 、authenticated-read 、bucket-owner-read 、bucket-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 构建完全跳过部署步骤。