https://github.com/itaibo/app-runner-deploy
Deploy your AWS App Runner apps
https://github.com/itaibo/app-runner-deploy
app-runner aws github-actions monorepo
Last synced: 3 months ago
JSON representation
Deploy your AWS App Runner apps
- Host: GitHub
- URL: https://github.com/itaibo/app-runner-deploy
- Owner: itaibo
- License: mit
- Created: 2023-06-21T20:31:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-22T14:36:41.000Z (almost 2 years ago)
- Last Synced: 2025-02-22T02:16:56.705Z (4 months ago)
- Topics: app-runner, aws, github-actions, monorepo
- Language: JavaScript
- Homepage: https://npmjs.com/app-runner-deploy
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# app-runner-deploy
A npx command to deploy your apps in AWS's App Runner
## Usage
```bash
npx app-runner-deploy@latest \
--region AWS_AR_REGION \
--accessKeyId AWS_AR_ACCESS_KEY_ID \
--secretAccessKey AWS_AR_SECRET_ACCESS_KEY \
--serviceArn AWS_AR_SERVICE_ARN
```## Why? Monorepos
When using a monorepo, on every push to your repository, AWS App Runner will deploy your app, even if nothing has changed in it.With `app-runner-deploy`, you can now use GitHub Actions to just deploy your app whenever it has changed.
## Example using GitHub Actions
> Remember: You need to configure your AWS App Runner to be deployed manuallyThis is a example of how you can create a GitHub Action, using secrets.
In this example, the deployment depends on the "API CI" GitHub Action to be completed successfully.
`API CI`, being triggered only when `apps/api/**` changes (and other files)
```yml
name: API CIon:
push:
paths:
- 'apps/api/**'
- 'package-lock.json'
- 'package.json'
- 'tsconfig.json'jobs:
build:
runs-on: ubuntu-lateststrategy:
matrix:
node-version: [18.x]steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: cd apps/api && npm install
- run: cd apps/api && npm run test
````API CD`, using app-runner-deploy
```yml
name: API CDon:
workflow_run:
workflows: ["API CI"]
branches: [main]
types:
- completedjobs:
build:
runs-on: ubuntu-lateststrategy:
matrix:
node-version: [18.x]steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: |
npx app-runner-deploy@latest \
--region "${{ secrets.AWS_REGION }}" \
--accessKeyId "${{ secrets.AWS_ACCESS_KEY_ID }}" \
--secretAccessKey "${{ secrets.AWS_SECRET_ACCESS_KEY }}" \
--serviceArn "${{ secrets.AWS_SERVICE_ARN }}"
```## People
The original author of app-runner-deploy is [itaibo](https://github.com/itaibo)