로컬에서 GitHub Actions 실행하는 법

Kim Young Jae·2025년 2월 12일
0

GitHub Actions는 CI/CD를 자동화하는 강력한 도구이지만, 워크플로우를 실행할 때마다 GitHub에 푸시해야 한다면 시간이 낭비될 수 있습니다. 이를 해결하기 위해, 로컬에서 GitHub Actions를 실행하는 방법을 알아보겠습니다.

1. act: GitHub Actions를 로컬에서 실행하기

act는 GitHub Actions를 로컬에서 실행할 수 있도록 해주는 도구입니다. 이를 사용하면 GitHub의 실행 환경을 시뮬레이션하여 테스트할 수 있습니다.

1.1 act 설치

macOS

brew install act

Windows (Scoop 사용)

scoop install act

Linux (curl 사용)

curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash

또는, GitHub Releases에서 바이너리를 다운로드하여 사용할 수도 있습니다.

1.2 act 실행하기

설치가 완료되면, GitHub Actions을 실행할 디렉토리로 이동하여 다음 명령어를 실행합니다.

act

기본적으로 .github/workflows/ 폴더 내의 워크플로우를 찾아 실행합니다.

1.3 특정 이벤트 트리거로 실행하기

act push  # push 이벤트 실행
act pull_request  # pull_request 이벤트 실행
act -l  # 실행 가능한 이벤트 목록 확인

1.4 특정 워크플로우 실행하기

워크플로우 파일이 .github/workflows/eas-update.yml로 구성되어 있을 경우, 아래 명령어로 실행할 수 있습니다.

act workflow_dispatch -W .github/workflows/eas-update.yml \
  -s EXPO_TOKEN=mytoken \
  -P ubuntu-latest=catthehacker/ubuntu:act-latest \
  --container-architecture linux/amd64 

1.5 필요한 Docker 이미지 설정하기

act는 기본적으로 medium 사이즈의 Docker 이미지를 사용합니다. 더 가벼운 이미지를 사용하려면 -P 옵션을 이용하세요.

act -P ubuntu-latest=nektos/act-environments-ubuntu:18.04

2. act 사용 시 주의할 점

2.1 GitHub Secrets 처리

GitHub Actions에서 secrets.GITHUB_TOKEN과 같은 환경 변수를 사용하는 경우, 로컬에서 실행하려면 .secrets 파일을 만들어야 합니다.

echo "GITHUB_TOKEN=mytoken" > .secrets
act --secret-file .secrets

2.2 필요한 툴이 설치되어 있어야 함

act는 Docker 컨테이너 내에서 실행되므로, Docker가 반드시 설치되어 있어야 합니다. 또한, GitHub Actions에서 사용하는 도구(예: Node.js, Python 등)가 로컬 환경에도 있어야 합니다.

3. 마무리

act를 사용하면 GitHub Actions를 로컬에서 빠르게 테스트하고 디버깅할 수 있습니다. 이를 활용하면 불필요한 푸시를 줄이고, 빠른 피드백을 얻을 수 있습니다.

더 자세한 사항은 act 공식 문서를 참고하세요.

profile
프론트엔드 뭐시기 주로 하는 사람

0개의 댓글

관련 채용 정보