ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Github Self-Host Runner 사용
    카테고리 없음 2024. 9. 12. 12:38

     

    Github Self-Hosted Runner를 사용해보고 느낀점

     

    Github Actions를 이용하여 Deploy Workflow를 실행하던도중

    남은 공간이 없다고 표시되면서 배포에 실패하였다.

    (No space left on device)

     

     

    Ultralytics YOLOv8이 build 시간도 오래걸리고 Docker Image 용량도 컸는데

    라이브러리가 점점 추가되면서 이미지 용량이 더 늘어난것 같았다.

     

     

    내가 지금까지 사용하던 Host Runner의 경우 스토리지가 14GB정도였는데 이 보다 더 큰 스토리지가 필요하였다.

    Host Runner 유형

    • Github-Hosted Runner : Github에서 제공해주는 VM을 사용하여 Workflow 실행
      • Standard
      • Large 
    • Self-Hosted Runner : 본인 소유의 서버 or 로컬 PC에서 Workflow 실행

     

    Self-Hosted Runner를 사용한 이유

    Standard는 스토리지 용량 때문에 제외되었고 남은건 Large Github-Hosted Runner와 Self-Hosted Runner인데 

    Large Runner의 경우 Github 요금제를 변경해야해서 Self-Hosted Runner를 사용하였다.

     

     

    Self-Hosted Runner 적용하기

    Self-Hosted Runner를 적용하려면 Worklfow에 설정이 필요하다

     

    기존방식은 ubuntu-latest와 같이 우분투 위에서 실행한다고 명시했지만 

    Self-Hosted Runner는 self-hosted 라고 명시한다.

    jobs:
      build:
        name: Build 
        runs-on: ubuntu-latest # Github-Hosted Runner
     
     ---
     
     jobs:
      build:
        name: Build
        runs-on: self-hosted # Self-Hosted Runner

     

     

    Self-Hosted Runner 설치 방법

    1. Repository에 Settings > Actions > Runners > New self-hosted runner 를 클릭

     

    2. Server에 나와있는 설명대로 명령어 실행

    나의 경우 AWS에서 Linux 환경에 스토리지 20GB 환경에서 설치하였다.

     

    3. 연결 성공

     

    느낀점

    Standard Github Host Runner에서 용량문제가 있었기 때문에 어쩔 수 없이 Self-Hosted Runner를 사용하였다.

    하지만 불편한 점이 많았는데

     

    - 빌드시 Host Server가 가동 중이어야 한다.

    - Host Server가 가동중이며 Runner 관련 스크립트가 실행 중이어야 한다 (run.sh)

     

    이 부분 때문에 빌드시에 EC2를 켜고 다시 끄고를 반복하였다. 

     

    Ref.

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

Designed by Tistory.