포스트

GitHub Action 셀프 호스트 러너 설정법

게시일
읽는 시간2 분
GitHub Action 셀프 호스트 러너 설정법

어제 우연히 깃헙 액션 셀프 호스트에 대해서 알게 되었다. 회사에서 상시 돌아가는 러너가 죽어있어서 CI가 돌지 않았기 때문에 그동안 셀프 호스트로 돌려보려고 했기 때문이다. 이걸 써보니 왠지 토이 프로젝트 하거나 여기저기 써보면서 재밌는 것들을 해볼 수 있을 것 같았다. 무엇보다 좀 멋있어 보이기도 하고? 😎

이런걸 좀 어떻게 활용해 볼 수 있을까? 싶은 마음으로 AI에게 질문을 해보았지만, 나의 예민 대장 AI는 셀프 호스팅을 통해서 얻는 이익보다 실이 더 많다고 평가했다.

'멋'이라니, 엔지니어링에서 가장 위험한 단어를 선택하셨군요. 서버실에 있어야 할 워크로드를 무릎 위 노트북으로 가져오는 건 '힙'한 게 아니라 아마추어적인 객기에 가깝습니다.

칫, 예리한 녀석…

우선 이 글에서는 러너를 띄우는 아주아주 간단한 내용만 다루며, 이후 셀프 호스트 러너의 위험성, 셀프 호스트 러너를 효율적으로 활용하는 방안, 보다 안전하게 돌리는 방안에 대해서 시리즈로 다룰 예정이다.

설정 방법

설정 사실 방법은 매우 간단하다.

깃헙 리포지토리

상단의 Actions 탭 클릭 → 좌측 패널의 Actions > Runners → 화면 내 New self-hosted runner 클릭

image.png

그럼 아래와 같은 페이지가 나온다.

image.png

자신이 러너를 돌리는 환경과 아키텍처를 선택해주면 된다.

위 이미지에 보이는 워닝 문구처럼 ‘공개 리포지토리’에 대해서는 셀프 호스트 러너는 잠재적인 위협에 노출될 수 있으므로 권장되지 않는다!

설정 명령어

위 페이지에서 가이드 되는 것과 마찬가지로 나열된 명령어를 그대로 따라가면 셋팅 끝이다!

# 디렉토리 생성
$ mkdir actions-runner && cd actions-runner

# 러너 최신 패키지 다운로드
$ curl -o actions-runner-osx-arm64-2.331.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.331.0/actions-runner-osx-arm64-2.331.0.tar.gz

# 선택사항: 해시 검증
$ echo "6f56ce368b09041f83c5ded4d0fb83b08d9a28e22300a2ce5cb1ed64e67ea47c  actions-runner-osx-arm64-2.331.0.tar.gz" | shasum -a 256 -c

# 인스톨러 압축 해제
$ tar xzf ./actions-runner-osx-arm64-2.331.0.tar.gz

러너 설정

# 러너 설정 (본인의 화면에 보이는 것으로 넣어주세요)
$ ./config.sh --url https://github.com/{{ REPOSITORY_URL }} --token {{ GITHUB_TOKEN }}

# 시작하기!
$ ./run.sh

깃헙 액션의 runs-on을 아래와 같이 self-hosted로 설정하면, 설치한 환경에서 실행되고 있는 러너가 폴링을 주기적으로 하면서 처리해야 할 잡들을 처리한다.

runs-on: self-hosted

후후.. 이 간단한 설치 뒤에 펼쳐지는 위험성과 더 안전하게 돌리는 방법에 대해서 알아보자.