GitHub Actions를 로컬에서 실행하는 도구, act
요약
GitHub Actions를 로컬 환경에서 실행할 수 있게 해주는 도구 'act'에 대한 가이드입니다. act는 커밋/푸시 시마다 테스트할 필요 없이, 로컬에서 워크플로우를 빠르게 테스트하고 Makefile을 대체하는 로컬 작업 러너로 활용될 수 있습니다.
핵심 포인트
- GitHub Actions를 로컬에서 실행하여 빠른 피드백을 얻을 수 있습니다.
- act는 `.github/workflows/` 정의에 따라 액션 세트를 결정합니다.
- VS Code 확장을 사용하면 에디터 내에서 act 기능을 편리하게 사용할 수 있습니다.
- Docker API를 사용하여 컨테이너 기반으로 환경과 파일 시스템을 구성합니다.
전역적으로 생각하고,
act
로컬에서 실현하세요!
GitHub Actions를 로컬에서 실행해 보세요! 왜 이런 것을 하고 싶을까요? 두 가지 이유가 있습니다:
빠른 피드백(Fast Feedback) - .github/workflows/ 파일에 변경 사항을 테스트하거나 (또는 임베디드 GitHub actions의 모든 변경 사항에 대해) 커밋/푸시할 때마다 할 필요 없이, act를 사용하여 액션을 로컬에서 실행할 수 있습니다. 환경 변수와 파일 시스템은 모두 GitHub가 제공하는 것과 일치하도록 구성됩니다.로컬 작업 러너(Local Task Runner) - 저는 make를 좋아합니다. 하지만 반복하는 것도 싫어합니다. act를 사용하면 .github/workflows/에 정의된 GitHub Actions를 사용하여 Makefile을 대체할 수 있습니다!
팁
이제 VS Code에서 act를 직접 관리하고 실행하세요!
GitHub Local Actions Visual Studio Code 확장을 확인해 보세요. 이 확장은 에디터를 벗어나지 않고도 act의 강력한 기능을 활용하여 워크플로우를 로컬에서 실행하고 테스트할 수 있게 해줍니다.
act를 실행하면 .github/workflows/에서 GitHub Actions를 읽어와 실행해야 하는 액션 세트를 결정합니다. 이는 워크플로우 파일에 정의된 대로 필요한 이미지를 가져오거나 빌드하기 위해 Docker API를 사용하며, 최종적으로 정의된 종속성(dependencies)을 기반으로 실행 경로를 결정합니다. 실행 경로가 결정되면, 이전에 준비된 이미지들을 기반으로 각 액션의 컨테이너를 실행하기 위해 Docker API를 사용합니다. 환경 변수와 파일 시스템은 모두 GitHub가 제공하는 것과 일치하도록 구성됩니다.
샘플 리포지토리로 작동 방식을 살펴보겠습니다!
더 많은 문서는 act 사용자 가이드를 참고하세요.
도움이 필요하신가요? 토론(discussions)에서 질문해 주세요!
act에 기여하고 싶으신가요? 멋집니다! 참여하려면 기여 지침(contributing guidelines)을 확인해 보세요.
-
Go 툴 설치 (1.20 이상) - (https://golang.org/doc/install)
-
이 리포지토리 클론하기
git clone git@github.com:nektos/act.git -
make test로 단위 테스트 실행하기 -
빌드 및 설치:
make install
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기