
제목 날짜 내용 발행일 23.04.03
해당 포스트는
Github Action를 학습한 것을 정리한 내용입니다.
클라이언트 부분을 S3로 배포합니다.
튜토리얼에 이어서 해당 실습을 진행합니다.
기존에 가지고 있었던 레포지토리를 이용해봅시다.

이번 클라이언트 배포는 간단하게 3가지 단계로 나뉜다.
Source: Github reference 브랜치에 코드가 커밋
Build: github acitons의 YAML 파일에 적힌 명령어를 토대로 Webpack을 이용해 빌드
Deploy: github acitons의 YAML 파일에 적힌 명령어를 토대로 s3로 빌드 결과를 업로드
이미 S3는 배포를 위해 충분히 준비되어 있으므로, s3로 파일만 잘 전달하면 충분히 배포를 할 수 있다.
# .github/workflows/client.yml
name: client
on:
push:
branches: [ "reference" ]
pull_request:
branches: [ "reference" ]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout source code.
uses: actions/checkout@v3
- name: Install dependencies
run: npm install
working-directory: ./my-agora-states-client
- name: Build
run: npm run build
working-directory: ./my-agora-states-client
- name: SHOW AWS CLI VERSION
run: |
aws --version
- name: Sync Bucket
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_EC2_METADATA_DISABLED: true
run: |
aws s3 sync \
--region ap-northeast-2 \
build s3://fe-78-leekoby-s3 \
--delete
working-directory: ./my-agora-states-client