본문 바로가기
개발/Git

Amplify에서 GitHub actions 로 배포 자동화 flow 만들기

by 안뇽! 2023. 12. 25.
반응형

Amplify에서 GitHub actions 로 배포 자동화 flow 만들기

예전에 회사에서 amplify로 호스팅된 페이지를 배포하는데 환경변수 이슈때문에 배포가 지연된 적이 있다.

 

환경변수 이슈와 별개로 이같은 상황이 재발하는 것을 방지하기 위해 GitHub actions로 prebuild하여 사전에 문제를 파악하도록 세팅한적이 있다.

 

근데 지금 공부를하다가 배포 자동화를 하는 방법을 알게 되었다.

 

amplify 웹훅을 이용하여 release/* 브랜치가 열리고 모든 workflow를 통과하면 main에 merge하지 않아도 배포시키는 것인데 아주 쉽다. 별개로 main은 상용 환경이기 때문에 trigger를 브랜치 create말고 다른 것으로 바꾸는게 좋을 것 같다.

자동 빌드 비활성화

main 브랜치에서의 자동빌드를 비활성화 한다.

웹훅 생성

웹훅을 생성한다.

 

GitHub Actions 설정

.github/workflows/production.yaml에서 trigger를 설정한다.

name: Production Deployment

on:
  release:
    types: [created]

jobs:
  Deploy-Preview:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - run: AWS amplify에서 명령어 복사

#  이 밑에는 amplify랑 상관없음
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Install pnpm
        run: npm install -g pnpm

      - name: Install Dependencies
        run: pnpm install

      - name: Build Library
        run: pnpm run build

 

이렇게 작성후 원격에 release/branch가 만들어지면 해당 workflow를 통과할때 main 브랜치가 배포된다.

반응형