Google Cloud Storage (GCS) 部署
此页面记录了使用 dpl v1 的部署,dpl v1 目前是默认版本。下一个主要版本 dpl v2 将很快发布,我们建议开始使用它。请参阅 我们的博客文章 以了解详细信息。 dpl v2 文档可以在这里找到。
Travis CI 支持上传到 Google Cloud Storage (GCS)。
最小的配置是
deploy:
provider: gcs
access_key_id: "GCS Interoperable Access Key ID"
secret_access_key: "GCS Interoperable Access Secret"
bucket: "GCS Bucket"
此示例几乎肯定不理想,因为您可能希望上传构建的二进制文件和文档。将 skip_cleanup
设置为 true
以防止 Travis CI 删除构建工件。
deploy:
provider: gcs
access_key_id: "GCS Interoperable Access Key ID"
secret_access_key: "GCS Interoperable Access Secret"
bucket: "GCS Bucket"
skip_cleanup: true
您可以在 此处 找到您的 GCS 可互操作访问密钥。建议对该密钥进行加密。假设您已安装 Travis CI 命令行客户端,您可以像这样进行操作
travis encrypt --add deploy.secret_access_key
系统将提示您在命令行上输入您的 API 密钥。
您也可以让 travis
工具为您设置好一切
travis setup gcs
请记住,上述命令必须在您的项目目录中运行,以便它可以为您修改 .travis.yml
。
通过选项设置 GCS ACL #
您可以通过 acl
选项设置上传文件的 ACL,如下所示
deploy:
provider: gcs
access_key_id: "GCS Interoperable Access Key ID"
secret_access_key: "GCS Interoperable Access Secret"
bucket: "GCS Bucket"
skip_cleanup: true
acl: public-read
有效的 ACL 值为:private
、public-read
、public-read-write
、authenticated-read
、bucket-owner-read
、bucket-owner-full-control
。ACL 默认值为 private
。请参阅 Google Cloud 上的完整文档。
部署特定文件夹 #
您可以使用 local-dir
选项设置要上传的特定目录,如下所示
deploy:
provider: gcs
access_key_id: "GCS Interoperable Access Key ID"
secret_access_key: "GCS Interoperable Access Secret"
bucket: "GCS Bucket"
skip_cleanup: true
acl: public-read
local-dir: directory-name
如果 directory-name
是在构建过程中生成的,它将在部署之前被删除(清理),除非 skip_cleanup
被设置为 true。
条件发布 #
您可以在满足特定条件时才进行部署。请参阅 使用 on:
的条件发布。
设置 Content-Encoding
标头 #
GCS 上传可以选择设置 HTTP 标头 Content-Encoding
。此标头允许以压缩形式发送文件,同时保留文件扩展名和相关的 MIME 类型。
要启用此功能,请添加
deploy:
provider: gcs
...
detect_encoding: true # <== default is false
如果文件使用 gzip
或 compress
压缩,它将以相应的标头上传。
HTTP 缓存控制 #
GCS 上传可以选择设置 Cache-Control
HTTP 标头。
设置 HTTP 标头 Cache-Control
以建议浏览器缓存文件。默认值为 no-cache
。有效选项为 no-cache
、no-store
、max-age=<seconds>
、s-maxage=<seconds> no-transform
、public
、private
。
deploy:
provider: gcs
...
cache_control: "max-age=31536000"
请参阅 Google Cloud 上的完整文档。