app-runner-deploy

1.0.1 • Public • Published

app-runner-deploy

A npx command to deploy your apps in AWS's App Runner

Usage

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 manually

This 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)

name: API CI

on:
  push:
    paths:
      - 'apps/api/**'
      - 'package-lock.json'
      - 'package.json'
      - 'tsconfig.json'
  pull_request:
    paths:
      - 'apps/api/**'
      - 'package-lock.json'
      - 'package.json'
      - 'tsconfig.json'

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      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

name: API CD

on:
  workflow_run:
    workflows: ["API CI"]
    branches: [main]
    types: 
      - completed

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      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

Readme

Keywords

Package Sidebar

Install

npm i app-runner-deploy

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

7.2 kB

Total Files

4

Last publish

Collaborators

  • itaibo