webpack S3 脚本
项目描述
安装
$ [sudo] pip install webpack-s3
优点
- 将webpack构建等文件存储在S3上
工作原理
webpack/
硬编码文件夹
脚本
- 创建具有完全访问/只读权限的用户和凭据
- 上传/下载
webpack/
硬编码环境变量名称
AWS_S3_WEBPACK_BUCKET
AWS_S3_WEBPACK_USER
AWS_S3_WEBPACK_ACCESS_KEY_ID
AWS_S3_WEBPACK_SECRET_ACCESS_KEY
webpack生产配置
const output = {
path: path.resolve('./webpack'),
filename: "[name]-[hash].js",
publicPath: 'https://'+process.env.AWS_S3_WEBPACK_BUCKET+'.s3.amazonaws.com/'
}
脚本使用
命令 | 用法 |
---|---|
webpack-s3 |
用法:webpack-s3命令[参数] |
webpack-s3-create-bucket |
用法:webpack-s3-create-bucket bucket |
webpack-s3-create-full-access-env |
用法:webpack-s3-create-full-access-env bucket |
webpack-s3-create-read-only-env |
用法:webpack-s3-create-read-only-env bucket |
webpack-s3-download |
用法:webpack-s3-download |
webpack-s3-upload |
用法:webpack-s3-upload |
示例
Makefile
,创建环境
WEBPACK_BUCKET:=BUCKET_NAME
all:
test -s .env.s3.webpack || webpack-s3-create-full-access-env $(WEBPACK_BUCKET) > .env.s3.webpack
test -s .env.prod.webpack || webpack-s3-create-read-only-env $(WEBPACK_BUCKET) > .env.prod.webpack
构建并上传到S3
set -o allexport
. .env.s3.webpack || exit
webpack --config webpack.config.prod.js || exit
webpack-s3-upload
可选:将webpack文件部署到服务器
Dockerfile
ENTRYPOINT ["/bin/sh","/entrypoint.sh"]
entrypoint.sh
webpack-s3-download
...
ansible-playbook.yml
...
tasks:
- name: task_name
docker_container:
...
env_file: ".env"