2019.8.15 • Published 6 years ago
webpack-s3 v2019.8.15
webpack S3 scripts
Installation
$ [sudo] npm i -g webpack-s3Pros
- store webpack build/etc files on S3
How it works
webpack/ hard-coded folder
scripts:
- create full-access/read-only user and credentials
- upload/download
webpack/
hard-coded environment variables names:
AWS_S3_WEBPACK_BUCKETAWS_S3_WEBPACK_USERAWS_S3_WEBPACK_ACCESS_KEY_IDAWS_S3_WEBPACK_SECRET_ACCESS_KEY
webpack prod config:
const output = {
path: path.resolve('./webpack'),
filename: "[name]-[hash].js",
publicPath: 'https://'+process.env.AWS_S3_WEBPACK_BUCKET+'.s3.amazonaws.com/'
}Scripts usage
| command | usage |
|---|---|
webpack-s3 | usage: webpack-s3 command [args] |
webpack-s3-create-bucket | usage: webpack-s3-create-bucket bucket |
webpack-s3-create-full-access-env | usage: webpack-s3-create-full-access-env bucket |
webpack-s3-create-read-only-env | usage: webpack-s3-create-read-only-env bucket |
webpack-s3-download | usage: webpack-s3-download |
webpack-s3-upload | usage: webpack-s3-upload |
Examples
Makefile, create env
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.webpackbuild and upload to S3
set -o allexport
. .env.s3.webpack || exit
webpack --config webpack.config.prod.js || exit
webpack-s3-uploadoptional: deploy webpack files to server
Dockerfile
ENTRYPOINT ["/bin/sh","/entrypoint.sh"]entrypoint.sh
webpack-s3-download
...ansible-playbook.yml
...
tasks:
- name: task_name
docker_container:
...
env_file: ".env"