Table of Contents
GitHub Self-Hosted Runner 구성하기
Self-Hosted Runner 는 AWS 를 이용할 수도 있고, 자체 서버를 이용할 수도 있습니다.
아래에서는 자체 서버를 Runner 로 구성하는 방법을 설명합니다.
마지막으로 컴파일이 실패하면 Action 실행이 중단되므로 서비스(서비스로 운영한다면)를 재시작해야 합니다.
self-hosted runner 생성
# Repository 레벨의 경우:
1. GitHub저장소 → Settings → Actions → Runners → New self-hosted runner
2. 운영체제 선택
3. 화면에 표시되는 TOKEN을 복사 (예: AABCD1234EFGH5678IJKL)
설치명령중에 포함되어 있습니다.
Runner 용 리눅스 계성 생성
actions-runner 에 sudo 권한을 주어야 하고, 서비스 설치 및 실행은 actions-runner 로 로그인한 후에 해야 합니다.
또한 비밀번호 없이 sudo 명령을 실행할 수 있도록 설정해야 합니다.
# runner 전용 사용자 생성
sudo useradd -m actions-runner
# 사용자 쉘을 bash로 설정
sudo usermod -s /bin/bash actions-runner
# 비밀번호 설정 (보안을 위해 복잡한 비밀번호 사용)
sudo passwd actions-runner
# sudo 권한 부여 (필요한 경우)
sudo usermod -aG sudo actions-runner
# actions-runner 디렉토리 생성 및 소유권 변경
# sudo mkdir /opt/actions-runner
# sudo chown actions-runner:actions-runner /opt/actions-runner
# 비밀번호 없이 sudo 명령을 실행
sudo vi /etc/sudoers
......
actions-runner ALL=NOPASSWD: ALL
# 해당 사용자로 전환
sudo su - actions-runner
Runner 설치 스크립트 실행
아래 명령은 예제이고 깃허브에서 표시해주는 명령을 사용합니다.
# Linux의 경우
# mkdir actions-runner && cd actions-runner
# GitHub에서 제공하는 최신 runner 다운로드
# curl -o actions-runner-linux-x64-2.311.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.311.0/actions-runner-linux-x64-2.311.0.tar.gz
# 압축 해제
# tar xzf ./actions-runner-linux-x64-2.311.0.tar.gz
# 설치 스크립트 실행
# ./config.sh --url https://github.com/[OWNER]/[REPOSITORY] --token [TOKEN]
Runner 서비스 시작
# 직접 실행
./run.sh
# 또는 서비스로 설치 (권장)
sudo ./svc.sh install
sudo ./svc.sh start
GitHub Actions 워크플로우에서 사용
jobs:
build:
runs-on: self-hosted
포트 포워딩 불필요
Self-hosted Runner는 "풀(pull)" 방식으로 작동합니다.
따라서 포트 포워딩은 불필요합니다.
주요 관리 명령어
# 서비스 상태 확인
sudo ./svc.sh status
# 서비스 중지
sudo ./svc.sh stop
# 서비스 제거
sudo ./svc.sh uninstall