TIL
Github Action을 이용한 AWS 자동배포
Frontend Developer
2023. 4. 20. 01:00
github action을 이용해 자동배포를 하려면 먼저 s3를 이용해 프로젝트가 배포되어 있어야 한다.
S3로 배포가 되어있다면 IAM사용자로 로그인한다.
이후 사용자를 생성하여 ACCESS_KEY_ID 와 SECRET_ACCESS_KEY 를 저장하도록 하자.
해당 사용자로 ID와 KEY를 받았다면 github의 레포 설정에서 KEY값과 ID값을 넣어주면 된다.
추가로, 배포된 S3버킷의 이름과 지역을 넣어주도록 하자.
이를 다 마치고 난 후 github - action 에서 workflow를 생성하여 세부 설정을 코드로 작성하면 된다.
이후 yml파일에 해당 코드를 넣어주어 배포가 되는지 확인한다.
name: workflow 제목
on:
push:
branches:
- 마스터 or 메인브랜치
pull_request:
branches:
- 마스터 or 메인브랜치
jobs:
run:
runs-on: ubuntu-latest
env:
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 }}
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: npm install
- name: Build
run: CI='' npm run build
- name: Deploy to S3
env:
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 }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
run: |
aws s3 sync build/ s3://${{ env.S3_BUCKET }} --delete