1. 준비
WSL2 Ubuntu 설치 완료 상태
GitHub에 로그인
Runner를 등록할 저장소 / 조직 / 엔터프라이즈 권한이 있어야 함
2. WSL2에서 설치 디렉토리 만들기
F 드라이브는 WSL에서 /mnt/f로 접근됩니다.
cd /mnt/f mkdir github-runner cd github-runner
3. GitHub에서 Runner 등록 정보 가져오기
GitHub 저장소에서
Settings → Actions → Runners → New self-hosted runnerLinux 선택 (WSL은 리눅스 환경)
GitHub가 안내하는 다운로드 명령어, 설정 토큰을 복사
4. Runner 다운로드 및 설정
예시 (GitHub 안내대로 실행):
# Runner 다운로드 curl -o actions-runner-linux-x64.tar.gz -L https://github.com/actions/runner/releases/download/v2.x.x/actions-runner-linux-x64-x.x.x.tar.gz # 압축 해제 tar xzf ./actions-runner-linux-x64.tar.gz # GitHub 저장소에 Runner 등록 ./config.sh --url https://github.com/username/repository --token YOUR_TOKEN
5. Runner 서비스로 등록
WSL에서는 systemd가 윈도우 재부팅 후 자동 실행 안 되므로, Runner를 리눅스 서비스로 등록해도 자동 실행이 안 됩니다.
→ 해결 방법은 윈도우 작업 스케줄러(Task Scheduler)에서 WSL Runner 실행 명령 등록입니다.
6. 윈도우 작업 스케줄러 설정
윈도우 검색창에 작업 스케줄러 입력
작업 스케줄러 실행
작업 만들기
이름: GitHub WSL Runner
사용자: 현재 계정
로그온 시 실행 체크
트리거
"시작 시" 추가
동작
프로그램:
wsl -d Ubuntu-22.04 bash -c "cd /mnt/f/github-runner && ./run.sh"
5.저장
7. 테스트
윈도우 재부팅 후 로그인 → 자동으로 WSL 실행 & Runner 연결
GitHub 저장소 Settings → Actions → Runners에서 온라인 상태 확인
팁
Runner를 서비스 모드로 설치하려면 WSL이 아니라 윈도우 네이티브 GitHub Runner를 쓰면 부팅 후 자동 실행이 훨씬 간단함.
하지만 WSL 내부에서 빌드 환경(Linux 기반)이 필요하면 위 작업 스케줄러 방식이 안전합니다.
삭제할경우
8. PowerShell에서 확인 및 삭제
파워셀
# 등록된 작업 목록에서 이름 확인 Get-ScheduledTask | Where-Object { $_.TaskName -like "*GitHub WSL Runner*" } # 삭제 Unregister-ScheduledTask -TaskName "GitHub WSL Runner" -Confirm:$false
-TaskName에는 등록 시 사용한 정확한 이름을 입력
위 스크립트에서는 GitHub WSL Runner로 등록했으니 그대로 쓰면 됩니다.
2. 작업 스케줄러(GUI)에서 삭제
작업 스케줄러 실행 (taskschd.msc)
왼쪽 메뉴에서 작업 스케줄러 라이브러리 클릭
가운데 목록에서 GitHub WSL Runner 찾기
우클릭 → 삭제
3. 삭제 여부 확인
파워셀
Get-ScheduledTask | Where-Object { $_.TaskName -like "*GitHub WSL Runner*" }
아무것도 안 나오면 삭제 완료.
만약 Runner를 등록해둔 폴더(F:\github-runner)도 같이 지우고 싶다면:
파워셀
Remove-Item -Path "F:\github-runner" -Recurse -Force
댓글 ( 0)
댓글 남기기