Git/action

Runner란

Hamp 2025. 8. 30. 18:44
반응형

👋 들어가기 전

 

코딩할 떄 생산성과 유지보수를 가장 첫번 째 목표로 생각했던 나는

 

회사에서 iOS 업무외에도, 코드뿐만 아니라, 팀 전체의 생산성을 담당하는 Devops도 지원했다.

 

금요일 오후 일과로 Devops관련 인수인계를 조금 받았는데, 현재 우리 팀원들을 위해,

 

묵묵히 Devops를 담당한 팀원을 정말 존경하게되었다.

 

이제 그 짐을 조금 덜어주려고 한다.

 

하지만 사전지식이 없는 나는 학습이 필요하다.

 

바로 첫번 째 주제는 Runner라는 개념이다.


🏁 학습할 내용

  • runner란 무엇인가
  • 종류
  • runner 생성 전 고민
  • runner 생성

🏃 runner란 무엇인가

 

흠 .. runner 뭔가 굉장히 열심히 달리는 놈인가?? 

우리는 얘를 만난 적 있을까??

 

정답은 있다 ㅋㅋ 그것도 아주 많이 

 

github action을 한번이라도 구현해봤더라면, 위 사진을 많이 봤을 꺼다.

 

우리가 github action으로 돌리는 코드는 누군가의 컴퓨에서 돌아가야한다.

 

하지만 github action을 썼을 떄는 내컴퓨터에서 돌리지는 않았다. 그러면 누구꺼지?? 🧐

 

누구긴 누구야, 깃헙꺼지 ...

 

그렇다 바로 workflow가 돌아가는 머신을 runner라고 부른다.


📂 종류

 

🤖 Github hosted runner

  • GitHub에서 미리 설정해 놓은 환경을 제공하는 머신, VM(가상머신)형태로 제공
  • 별도의 설정 없이 바로 사용할 수 있지만, 사용량 제한이 있음
  • 속도도 빠른 편은 아님

 

🛸 self hosted runner

  • 사용자가 직접 자신의 서버나 머신에 Runner 애플리케이션을 설치하여 사용
  • 특정 하드웨어 환경, 내부 네트워크 접근, 보안 요구사항 등이 필요할 때 유용
  • 즉,  커스텀이 가능함. 

 

눈치챘게지만, 회사에서 Devops를 하려면, 보안적인 측면과 커스텀이 가능한

self hosted runner를 다루는게 당연하겠지?? 

 

그래서 우리는 self host runner에 집중해보자.


🤔 runner 생성 전 고민

⚠️ 주의!!

셀프 호스팅 러너는 비공개 저장소에서 실행하는 것을 권장

공개 저장소일 경우, 포크 워크플로 PR을 통해 위험한 코드를 셀프 호스팅 러너 머신에서 실행 가능성이 있다.

 

 

💸  runner용 PC 구입

먼저, runner 역할을 할 PC를 구입해야한다.

 

작업을 하는 PC에서 runner를 돌릴경우, PC 자원이 runner에 집중되어, 사실상 작업이 불가능하다.

 

 

🔢 runner Level  고민하기

 

1️⃣ Repository Level runner

  • 가장 아래 수준으로 Level로 단일 저장소에 할당된다.

 

2️⃣ Group Level runner

  • Group Level runner는 Group안에 있는 여러 저장소의 작업을 처리할 수 있다.

 

3️⃣ Enterprise Level runner

  • Enterprise 안에 존재하는 여러 Group에 runner를 할당할 수 있다.

🎬 runner 생성

우리는 위에서 3가지 runner level을 배웠고, Enterprise는 지금 테스트 할 수 없으니

 

Repository와 Group에 대해서만 테스트 해보자.

 

1️⃣ Repository Level

 

1. Repository -> Setting

 

2. Action -> Runner

 

3.New self hosted runner

 

4. 가이드 라인 따라가기

크게 4가지 단계가 있다.

 

image 선택, runner 다운 받기, 설정하기, workflow에 runner 명시하기

 

 

 

2️⃣ Group Level

 

마지막 가이드라인은 똑같고 진입 지점만 살펴보자.

 

1. Organiztion -> Setting

 

2. Action -> Runner

 

Runners에 보면 GitHub-hosted runner가 보인다.

 

2. Runner groups -> New runner group

Runner Group에 runner를 추가한다.

 

현재 나는 Test Runner라는 Group을 만듬


출처

https://docs.github.com/ko/actions/concepts/runners/github-hosted-runners

 

GitHub 호스팅 실행기 - GitHub Docs

GitHub는 워크플로를 실행하는 호스팅 가상 머신을 제공합니다. 가상 머신에는 GitHub Actions에서 사용할 수 있는 도구, 패키지 및 설정 환경이 포함되어 있습니다.

docs.github.com

 

반응형