반응형
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 브랜치가 배포된다.
반응형
'개발 > Git' 카테고리의 다른 글
GitHub Actions에서 build시 사용할 환경 변수 넣기 (0) | 2023.12.28 |
---|---|
Git flow 만든사람이 git flow 쓰지말래 -> trunk based 어때 (1) | 2023.12.20 |
remote: Permission to xxx.git denied to github-actions[bot]. (0) | 2023.09.04 |
main 리베이스는 제때제때 하자. (0) | 2022.12.11 |
gitignore 적용 안될때 (0) | 2022.04.01 |