Amazon s3 用Travis在S3上压缩资产?
我们正在尝试使用travis将缩小和压缩的js和css部署到s3。Gulp创建了一个文件Amazon s3 用Travis在S3上压缩资产?,amazon-s3,deployment,travis-ci,Amazon S3,Deployment,Travis Ci,我们正在尝试使用travis将缩小和压缩的js和css部署到s3。Gulp创建了一个文件main.bundle.js.gz,该文件已正确上传到s3,但该站点在main.bundle.js上显示了一个404 Travis似乎除了“内容编码”之外没有太多选择。还有什么我们需要注意的吗?html中的源代码仍然是.css和.js,而不是.js.gz 我自己花了很多时间研究这个问题,最后找到了一个解决方案。这很简单,但是互联网上有很多旧信息,这让它看起来更混乱 以下是对我有效的方法: 在Travis构建
main.bundle.js.gz
,该文件已正确上传到s3,但该站点在main.bundle.js上显示了一个404
Travis似乎除了“内容编码”之外没有太多选择。还有什么我们需要注意的吗?html中的源代码仍然是.css和.js,而不是.js.gz
我自己花了很多时间研究这个问题,最后找到了一个解决方案。这很简单,但是互联网上有很多旧信息,这让它看起来更混乱 以下是对我有效的方法:
- 在Travis构建步骤中构建并缩小我的站点文件,但不要压缩它们。在我的例子中,这只是在
步骤中运行script
npm run build
- 使用Travis S3部署插件将缩小的文件上载到我的S3存储桶
- 将CloudFront配线架放置在S3存储桶的前面,使用
- 任何使用
请求的客户端都将获得gzip版本Accept Encoding:gzip
.travis.yml
的相关部分:
script: npm run build
deploy:
provider: s3
access_key_id: <id>
bucket: s3-bucket
skip_cleanup: true
local_dir: staging
脚本:npm运行构建
部署:
提供者:s3
访问密钥id:
桶:s3桶
跳过清理:true
本地主任:登台