Awesome
website-deploy
A simple utility to deploy a static website to [s3-bucket, lambda, ...]
Pre-requisite
You need a node v8 or higher to run this utility.
Installation
Install globally
npm install --global website-deploy
Install in project
npm install --save-dev website-deploy
Usage
This utility has following sub-commands:
s3 deploy
This sub-command sync the provided source folder with AWS s3 bucket.
website-deploy s3 [options] <SOURCE_DIR> <S3_BUCKET_NAME>
Options
--delete
This will delete all the files from the AWS s3 bucket which are not present in provided <SOURCE_DIR>
--debug
This will print extra debug statements for more visibility
--profile <profile name>
Provide a AWS credential profile as a credentials.
--region <AWS region>
Provide a AWS region Name. Default is us-east-1
.
lambda deploy
This will deploy your application deployable file to AWS lambda.
update
Deploy/update a new function code.
website-deploy lambda update [options] <functionName> <zipFilePath>
--debug
This will print extra debug statements for more visibility
--profile <profile name>
Provide a AWS credential profile as a credentials.
--region <AWS region>
Provide a AWS region Name. Default is us-east-1
.
version
Get the versions deployed to function.
website-deploy lambda version [options] <functionName>
--count [count]
This will display the maximum version specified by count. Default is 10
.
--debug
This will print extra debug statements for more visibility
--profile <profile name>
Provide a AWS credential profile as a credentials.
--region <AWS region>
Provide a AWS region Name. Default is us-east-1
.
build
Create the lambda deploable zip file
website-deploy lambda build [options] <outputZipFileName>
--path <PATH>
A object path to be invalidated. This can be provided multiple times to specify additional paths.
e.g.
website-deploy lambda build --path "/index.js" --path "/lambda.js" myapp.zip
--include-node-modules
Include the production
npm packages. This will need package-lock.json
--debug
This will print extra debug statements for more visibility
invalidate-cache
This sub-command will invalidate the cloudfront cache
website-deploy invalidate-cache [options] <CLOUDFRONT_DISTRIBUTION_ID>
Options
--path <PATH>
A object path to be invalidated. This can be provided multiple times to specify additional paths.
e.g.
website-deploy invalidate-cache <CLOUDFRONT_DISTRIBUTION_ID> --path "/index.html" --path "/error.html"
--debug [true|false]
This will print extra debug statements for more visibility
--profile <profile name>
Provide a AWS credential profile as a credentials.
--region <AWS region>
Provide a AWS region Name. Default is us-east-1
.
Issue or need a new feature?
If you are experiencing a issue or wanted to add a new feature, please create a github issue here.
Contributing
:star: Star me on GitHub — it helps!
:heart: contribution: Here is contributing guide in deatil.
For impatient here are quick steps:
- Fork the repository
- Create Branch in you local repository
- while(youFinish) { Commit }
- Squash related commits.
- Write unit test cases for your work.
- Check the Build on your local.
- Raise a Pull Request (aka PR)