Skip to content

β˜οΈπŸš€ Deploy your Angular app to Amazon S3 directly from the Angular CLI πŸš€β˜οΈ

License

Notifications You must be signed in to change notification settings

ggallotti/ngx-aws-deploy

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NGX-AWS-DEPLOY

β˜οΈπŸš€ Deploy your Angular app to Amazon S3 directly from the Angular CLI πŸš€β˜οΈ

All Contributors

CI npm npm (scoped) GitHub issues
Twitter Follow

ngx-aws-deploy

Quick Start

  1. Install the latest version of Angular cli

    yarn global add @angular/cli
  2. Create a new Angular project

    ng new hello-world --defaults
    cd hello-world
  3. Add @jefiozie/ngx-aws-deploy to your project

    ng add @jefiozie/ngx-aws-deploy
  4. After these steps your angular.json is updated with a new builder:

    "deploy": {
        "builder": "@jefiozie/ngx-aws-deploy:deploy",
        "options": {}
    }
  5. Due to security risk we have made the decision to never add any options to the angular.json. You should set the environments variable during the ng deploy command. Below is an example on how you could do this.

npx cross-env NG_DEPLOY_AWS_ACCESS_KEY_ID=1234 NG_DEPLOY_AWS_SECRET_ACCESS_KEY=321ACCESS NG_DEPLOY_AWS_BUCKET=mys3bucket NG_DEPLOY_AWS_REGION=eu-1-region NG_DEPLOY_AWS_SUB_FOLDER=path/on/bucker ng deploy
  1. Run ng deploy to deploy your application to Amazon S3.

πŸš€**Happy deploying!** πŸš€

Security πŸ”‘

Keep in mind that with the default config, everybody that has access to the angular.json will have your aws secret. If you want more security, you can also use environment variable with NG_DEPLOY_AWS_ACCESS_KEY_ID, NG_DEPLOY_AWS_SECRET_ACCESS_KEY, NG_DEPLOY_AWS_BUCKET and NG_DEPLOY_AWS_REGION.

Minimal Required IAM Policy for AWS Credentials

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::$BUCKET_NAME$"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::$BUCKET_NAME$/*"
            ]
        }
    ]
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. The builder is located in the libs\ngx-aws-deployfolder. The sample app is located in the apps\demo-app folder. Please make sure to update tests as appropriate.

License

MIT

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jeffrey Bosch

πŸ’» πŸ–‹ πŸ‘€

Santosh Yadav

πŸ’»

Nicolas Beaussart

πŸ’»

Stefan Nieuwenhuis

πŸ’»

Zack Yang

πŸ’»

David Houseknecht

πŸ“–

Brian Harris

πŸ“–

Michael Vogl

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

About

β˜οΈπŸš€ Deploy your Angular app to Amazon S3 directly from the Angular CLI πŸš€β˜οΈ

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 69.3%
  • JavaScript 14.2%
  • HTML 10.0%
  • SCSS 6.5%