본문 바로가기

서버

github action - 자체 runner 내 컴퓨터에다가 생성하기

728x90

CICD 구축시 

특정 브랜치가 PR 후 merge가 되거나

push가 될 때 

운영서버에 바로 적용을 시키려면 다음과 같은 방법이 있다.

 

1. github runner에서 ssh 연결 후 build 시키기

2. github runner를 사용하지 않고 운영서버에 자체 runner 깔기 

 

이번에는 자체 runner 생성을 해본다. 

 


github 레포에서 settings > actions > runner 들어가기

 

 

 

1. 로컬에서 돌릴 OS를 선택한다.

2. Download의 명령어를 터미널을 킨 후 순서대로 진행하면 된다.

3. Configure도 순서대로 진행한다. 

 

 

성공적으로 마쳤다면 위와 같은 사진이 나온다. 

 


local runner를 수신상태로 바꿔놓기

 

runner를 설치한 디렉토리에서

터미널을 열고 다음과 같은 명령어를 실행하여 수신상태로 해놔야된다.

 

./run.sh

수신상태인 runner


github repository > settings > runner 러너상태 확인하기

 

잘 켜져있는 걸 확인할 수 있다.

 


CI 잡이 있는 yml을 추가해보자

 

github에서 직접 파일을 추가해서 작성해도 되고

local repository에서 수정 후 push 하는 방법으로 해도 된다.

 

 

name: test-myrunner

on:
  workflow_dispatch

jobs:
  test-myrunner-job:

    runs-on: self-hosted

    steps:
    - name: move home directory
      run: cd ~

    - name: check directory list
      run: ls

 

 

해당 action 테스트는 

내 로컬 컴퓨터의 홈 디렉토리의 디렉토리 리스트와 

같은지 확인해보는 간단한 테스트다. 

 

작성을 다하면 푸시를 하면 됨 

 


actions > jobs 돌려보기

 

위 사진처럼 workflow를 실행해보자 

 

 

잠깐 기다리면 

실행중인 workflow가 나타날 것이다.

 

해당 workflow를 클릭해 들어가보자

 

 

 

 

workflow는 

success가 났지만

명령어의 출력값이 안나온다. 

 

해당 내용은 다시 한번 확인해봐야된다. 

 


마무리

 

github repository에서 

특정 브랜치에 push를 할 때

 

내 컴퓨터에 특정 로그를 기록해 저장하거나

내 컴퓨터가 아닌 운영 서버 컴퓨터에 build를 시켜 자동배포를 한다거나

 

다양한 작업을 할 수 있다. 

 

다음 포스팅에서는

운영서버 우분투 os에다가 

push 혹은 merge 될 때마다 자동배포하는

github action을 구성해보겠다.