티스토리 뷰
오늘은 Github Action을 통한 배포를 진행해 보았다.
1. 배포에 앞서서, 새로운 레포지토리를 생성하였다.
이 때 public으로 만들어야 Github Action을 무료로 사용할 수 있기 때문에, 주의해서 생성해준다.
나는 github-action-practice 라는 이름으로 레포지토리를 생성해주었다.
2. 새로운 레포지토리를 생성했다면, 연결시키고 싶은 코드를 push 시켜준다.
나는 기존 레퍼런스를 클론받은 뒤, 새로운 레포지토리를 원격 레포지토리로 등록 후
push를 진행하였다.
기존 레퍼런스 클론
git clone {기존 레퍼런스 주소}
# 디렉터리 이동
cd {클론된 레퍼런스}
# 새로운 리포지토리를 원격 리포지토리로 등록
git remote add myRepo {새로운 리포지토리 주소}
# 기존 레퍼런스 코드를 새로운 리포지토리로 push
git push myRepo reference
명령어를 실행 뒤, github-action-practice 의 Action으로 이동하면 아래와 같이
, Github Action이 활성화된 것을 볼 수 있다.
3. Github Actions를 통한 배포 Flow (클라이언트)
클라이언트 배포는 간단하게 3가지 단계로 나뉜다.
- Source: Github reference 브랜치에 코드가 커밋되면
- Build: github acitons의 YAML 파일에 적힌 명령어를 토대로 Webpack을 이용해 빌드를 하고
- Deploy: github acitons의 YAML 파일에 적힌 명령어를 토대로 s3로 빌드 결과를 업로드
client.yml 작성에 앞서서, 깃헙 액션에서 AWS 시크릿을 넣어주었다.
id와 key의 이름을 yml의 파일에 넣을 이름과 똑같이 적어주어야하기 때문에 주의해서 작성해야 한다.
.github/workflows/client.yml
# .github/workflows/client.yml
name: client
on:
push:
branches:
- reference
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout source code.
uses: actions/checkout@v2
- 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-37-yunhwan98-s3\
--delete
working-directory: ./my-agora-states-client
위의 코드를 추가 후, 레포지토리에 push를 하면, 배포가 진행된 것을 볼 수 있다.
'코드스테이츠' 카테고리의 다른 글
TIL 23.04.05 - DP(동적계획법) (0) | 2023.04.05 |
---|---|
TIL 23.04.04 - proxy 실습 (0) | 2023.04.04 |
TIL 23.03.28 (0) | 2023.03.28 |
TIL 23.03.27 (0) | 2023.03.27 |
TIL 23.03.24 (0) | 2023.03.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개인 프로젝트
- 감정일기장
- 코테
- 백준
- SEB43기
- seb
- 스택오버플로우
- React quill
- 브루드포스
- 프론트엔드
- 프로젝트
- SEB 43
- Python
- dictionary
- 감정 일기장
- 회고
- 프로그래머스
- useContext
- SEB43
- til
- 기술면접
- SEB 43기
- 인적성
- 그리디 알고리즘
- 다이나믹 프로그래밍
- Redux
- BFS
- 프리프로젝트
- 코드스테이츠
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함