본문 바로가기

Etc

[GitHub] GitHub Actions을 사용하여 push 할 때 자동으로 build 되도록 만드는 방법

728x90

최근 회사에서 배포하는 작업이 많아지다 보니 점점 귀찮아졌다

build 하고 배포하고 하는 과정이 귀찮아서 자동으로 할 수 있는 방법을 찾아보다 GitHub Action에 대해 알게 되었다.

 

1. GitHub Action이란?

GitHub Actions은 GitHub에서 제공하는 자동화 도구로, 코드의 빌드, 테스트, 배포 등의 작업을 자동화할 수 있도록 도와준다. GitHub 저장소에 특정 이벤트가 발생할 때마다 워크플로우를 실행하여 원하는 작업을 수행할 수 있다.

 

YAML 파일을 사용해 쉽게 워크플로우를 정의하고 구성할 수 있다. 

또한, Linux, macOS, window 등 다양한 운영체제 환경에서도 실행이 가능하다. 

 

 

2. 사용방법

GitHub Actions는 GitHub에 내장되어 있기 때문에 저장소에 워크플로우를 추가하기만 하면 된다.

아직 자동으로 배포해도 되는지 허락을 못 받아서 우선 자동 빌드까지만 구현했다.

 

1) workflow 디렉토리 생성

 

우선 저장소 루트에 .github 폴더를 만들어주고, 그 안에 workflows 디렉터리를 만들어 준다.

위 사진에서는 blog 가 저장소 루트이기 때문에 이 안에 ' .github/workflows' 폴더를 만들었다.

 

 

2) 워크플로우 파일 생성

해당 디렉터리 안에서 원하는 이름의 YAML 파일을 만들어준다.

메모장을 켜서 워크플로우를 저장하고, 다른 이름으로 저장할 때 확장자를 .yml로 해주면 된다.

 

name: Build

on:
  push:
    branches:
      - main  # 또는 사용하는 기본 브랜치

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout 코드
      uses: actions/checkout@v2

    - name: 의존성 설치
      run: npm install  # 또는 yarn 등 사용하는 패키지 매니저에 맞게 변경

    - name: 빌드
      run: npm run build  # 또

 

그 후 워크플로우를 작성해준다.

 

name은 github 저장소의 action 탭에 표시되는 워크플로우의 이름이다.

해당 필드를 생략하면 워크플로우 파일 이름이 나타나게 된다.

 

on은 이벤트를 정의할 때 사용한다.

여기서 정의한 이벤트가 실행될 때마다 워크플로우가 실행된다.

 

jobs는 워크플로우에서 실행할 모든 작업을 작성하는 부분이다.

이 외에 자세한 설명은 GitHub 문서에서 확인할 수 있다. 

 

위 워크플로우는 push 했을 때, 자동으로 build 되는 명령어이다.

 

 

3) 테스트 및 확인

 

자동화 워크플로우가 제대로 실행됐는지 확인하고 싶다면 GitHub > Actions를 들어가 보면 된다.

 

 

 

build 시간이 얼마나 걸렸는지, 제대로 되었는지 확인할 수 있다. 

 

 

 

좀 더 자세히 들어가 보면, 어디서 에러가 발생했는지도 확인할 수 있다.

 

 

 


 

생각보다 자동화하는 작업이 쉬워서 놀랐다.

이를 활용하면 자동 배포, 테스트 자동화 등 다양한 작업을 할 수 있을 것 같다.

조만간 자동으로 배포되는 것도 적용할 예정이다!

 

그다음엔 테스트 자동화도 적용해 봐야지

728x90