제목 날짜 내용 발행일 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