EQVPS

VPS에 자체 호스팅 GitHub Actions 러너 설정하는 방법

VPS에 자체 호스팅 GitHub Actions 러너를 등록하고 서비스로 설치하기: non-root 사용자로 러너를 내려받고, 저장소 토큰으로 등록하고, svc.sh를 실행해 재부팅에도 살아남게 한다. 복사-붙여넣기 명령.

자체 호스팅 러너는 따뜻한 캐시가 있는 정액 비용 CI를 제공합니다 — 분당 과금 없음, 당신의 툴체인, 당신의 머신. 이것은 최소 설정 가이드입니다. 자체 호스팅이 GitHub 호스팅 분보다 나은 이유와 Docker 작업 세부 사항은 전체 가이드GitHub Actions용 VPS 사용 사례를 보세요.

1. non-root 사용자 만들기 (러너는 root를 거부함)

adduser --disabled-password --gecos "" runner
su - runner

2. 러너 내려받기

GitHub에서: Settings → Actions → Runners → New self-hosted runner → Linux, 정확한 다운로드와 일회용 토큰을 제공합니다. 그런 다음:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
  https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz

3. 저장소에 등록하기

./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

4. 서비스로 설치하기 (재부팅에도 살아남음)

./run.sh를 터미널에서 실행하지 마세요 — 설치하세요:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

러너는 이제 GitHub UI에서 Idle로 표시되며 자신을 대상으로 하는 작업을 받아갑니다.

5. workflow에서 사용하기

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

Docker 작업 (선택)

Docker를 한 번 설치하면 workflow가 실행 간에 레이어 캐시가 유지된 채 이미지를 빌드할 수 있습니다:

sudo apt install -y docker.io
sudo usermod -aG docker runner

VPS에 Docker 설치를 보세요. 크기 산정: **Small(월 $8)**은 대부분의 CI에 넉넉합니다. 무거운 컴파일에는 한 단계 올리세요. 약 1분이면 root, KYC 없음, 암호화폐로 결제.

자주 묻는 질문

자체 호스팅 GitHub Actions 러너를 어떻게 등록하나요?

저장소(또는 조직)에서: Settings → Actions → Runners → New self-hosted runner → Linux. GitHub이 다운로드 명령과 일회용 등록 토큰을 보여줍니다. non-root 사용자로 러너를 내려받고, 그 URL과 토큰으로 ./config.sh를 실행한 다음, svc.sh로 서비스로 설치하세요. 단계는 아래에 있습니다.

러너가 왜 root로 실행될 수 없나요?

러너는 설계상 root로 실행을 거부합니다. 전용 non-root 사용자를 만들고(adduser runner) 거기서 설정하세요. 이는 악성 workflow가 머신에서 건드릴 수 있는 범위도 제한합니다.

재부팅 후에도 러너를 계속 실행하려면?

함께 제공되는 svc.sh 도우미를 사용하세요: sudo ./svc.sh install runner && sudo ./svc.sh start. systemd 유닛을 설치해 러너가 부팅 시 시작되고 실패 시 재시작되며 GitHub UI에서 Idle로 표시됩니다.

러너에 전용 IP가 필요한가요?

아니요. 러너는 HTTPS로 GitHub에 바깥으로 접속합니다. 인바운드로 도달할 것이 없습니다. NAT 요금제(월 $3부터)면 됩니다. 트래픽을 서비스하는 무언가도 자체 호스팅할 때만 전용 IP를 받으세요.

신분증이나 카드를 요구하나요?

아니요. 가입에 이메일, 결제는 USDC 또는 USDT — 서류 없음, 카드 없음. 약 1분이면 root.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.