GitHub Actions 사용 방법
원티드 프리온보딩 인턴십 1-2주차 강의 내용을 복습할 겸 직접 깃허브 액션을 사용해 보았다.
깃허브 액션을 사용하면 깃허브 레파지토리에서 바로 소프트웨어 개발 워크플로우를 자동화 할 수 있다.

1. .github/workflows 폴더 생성
워크플로우를 짜기 위해서는 .github 폴더 안에 workflows 라는 폴더가 있어야 한다.
이 .github/workflows/ 폴더 안에 넣는 여러가지의 파일 하나 하나가 CI/CD 파이프라인이 되는 것이다.
2. CICD.yml 파일 생성
.github/workflows/ 안에 파일을 생성한다.
// 예시 파일
name: CI/CD
on: // 언제 돌릴 것인지
push:
branches:
- master // master 브랜치에 푸시 되었을 때 실행 (PR 머지도 포함)
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest // 어디서 실행할 것인지
steps:
- uses: actions/checkout@master
- run: npm ci
- run: npm run test
- run: npm run build
- name: deploy to s3
uses: jakejarvis/s3-sync-action@master
with:
args: --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'ap-northeast-2'
SOURCE_DIR: 'build'
개발할 때는 짧은 단위로 나누어 진행하는 것이 좋다.
제대로 작동하는지 확인하기가 편리하기 때문이다.
CICD.yml 파일을 작성할 때도 아래 코드와 같이 테스트하면 좋다.
// 테스트
name: CI/CD
on:
push:
branches:
- main // 브랜치 이름을 확인하자
jobs:
helloWorld:
runs-on: ubuntu-latest
steps:
- run: echo HelloWorld
3. 파일 커밋
커밋 메시지는 'github actions run 테스트' 라고 적었다.
깃허브 레파지토리에서 Actions 탭을 보면 방금 커밋이 돌아가고 있음을 볼 수 있다.



Set up job 에서 러너를 켜주고 여러가지 설정을 해준다.
Run echo HelloWorld 가 실행되었다.
Complete job 성공적으로 동작한 것을 알 수 있다.
4. workflow_dispatch 추가
워크플로를 수동으로 트리거하려면 workflow_dispatch 이벤트를 사용한다.
Run workflow 버튼이 생기고, 버튼을 눌러 실행할 수 있다.

'개발 > Git' 카테고리의 다른 글
[트러블 슈팅] 브랜치명 대소문자 구분하기, 원본 저장소에 브랜치 push하기, Git origin과 upstream 차이 (0) | 2023.04.23 |
---|---|
[Git] Husky 사용 방법 (1) | 2022.12.29 |