Vue s3 Deployer Github Action π
Github action for deploy Vue app to Amazon s3 bucket.
Usage
In your workflow, define a step which refers to the action:
- name: Deploying application to Amazon S3
uses: neoswallow/vue-s3-deployer@main
with:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
AWS_BUCKET_NAME: ${{ secrets.AWS_BUCKET_NAME }}
AWS_CLOUDFRONT_DIST_ID: ${{ secrets.AWS_CLOUDFRONT_DIST_ID }}
AWS_INVALIDATION_PATH: ${{ secrets.AWS_INVALIDATION_PATH }}
APP_SOURCE_CODE: ./
BUILD_COMMAND: "npm run build"
Configuration
These settings are environment variables that the action will use for make the deployment. Below we describe each variable.
Key | Value | Required | Default |
---|---|---|---|
AWS_ACCESS_KEY_ID |
AWS Access Key. More info here. | Yes | N/A |
AWS_SECRET_ACCESS_KEY |
AWS Secret Access Key. More info here. | Yes | N/A |
AWS_DEFAULT_REGION |
The region of the bucket. Set to us-east-1 by default. [Full list of regions here.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using- |
||
AWS_BUCKET_NAME |
The name of the bucket you're syncing to. For example, vue-action . |
Yes | N/A |
AWS_CLOUDFRONT_DIST_ID |
CloudFront Distribution ID to create invalidation on. | ||
AWS_INVALIDATION_PATH |
Path to invalidate. | ||
APP_SOURCE_CODE |
This is the source code that will be deployed | yes | ./ |
BUILD_COMMAND |
Command used to build the application : https://cli.vuejs.org/guide/cli-service.html#vue-cli-service-build | yes | production |
Complete workflow example π
This is a simple workflow for deploy Vue app using Vue s3 deployer action.
# This is a basic workflow to help you get started with Vue s3 deployer action
name: Deployment
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Deploying application to Amazon S3
uses: neoswallow/vue-s3-deployer@main
with:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
AWS_BUCKET_NAME: awesome-bucket
AWS_CLOUDFRONT_DIST_ID: ${{ secrets.AWS_CLOUDFRONT_DIST_ID }}
AWS_INVALIDATION_PATH: ${{ secrets.AWS_INVALIDATION_PATH }}
APP_SOURCE_CODE: ./example
BUILD_COMMAND: "npm run build"
Note π
Remember store your amazon account credentials in repository secret. Stay safely guys. π
Resources
- https://levelup.gitconnected.com/deploying-vue-js-to-aws-with-https-and-a-custom-domain-name-3ae1f79fe188
- https://developer.okta.com/blog/2018/07/03/deploy-vue-app-aws
π€ Contributing
- Fork this repository.
- Create new branch with feature name.
- Commit and set commit message with feature name.
- Push your code to your fork repository.
- Create pull request. π
βοΈ Support
If you like this project, You can support me with starring β this repository.
π License
Made with β€οΈ and βοΈ from the dominican republic π΄