관리 메뉴

솜씨좋은장씨

[GitHub] actions-runner svc.sh 활용하여 서비스 등록 후 실행 시 발생하는 Active: failed (code=exited, status=203/EXEC) 해결 방법 본문

유용한 정보/Git | GitHub

[GitHub] actions-runner svc.sh 활용하여 서비스 등록 후 실행 시 발생하는 Active: failed (code=exited, status=203/EXEC) 해결 방법

솜씨좋은장씨 2023. 8. 11. 00:05
728x90
반응형

최근 작업을 하면서 GitHub 에 있는 actions runner 를 알게되었습니다.

GitHub Repo 의 actions-runner 추가 페이지에 들어가서 나오는 코드들을 복사 붙여넣기만 하면 

누구나 초기설정을 쉽게 할 수 있는 장점이 있어서

개발 서버 코드 배포에도 테스트에도 잘 활용을 하고 있습니다.

 

그러던 오늘! 오늘도 여느 때와 같이 신나게 세팅을 하고! 

https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service

 

Configuring the self-hosted runner application as a service - GitHub Docs

You can configure the self-hosted runner application as a service to automatically start the runner application when the machine starts.

docs.github.com

위 방법 따라서 서비스로 띄우려고 하던 때였습니다.

🚨 에러 발생 🚨

svc.sh 를 활용하여 install 한 뒤 start 를 하려고 했을때 에러가 발생했습니다.

[root@dev actions-runner]# sudo ./svc.sh start

/etc/systemd/system/actions.runner.dev.service
● actions.runner.42maru-ai-qa-solution-api.sitebunny-qa-dev.service - GitHub Actions Runner (42maru-ai-qa-solution-api.sitebunny-qa-dev)
   Loaded: loaded (/etc/systemd/system/actions.runner.dev.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2023-08-10 22:48:11 KST; 6ms ago
  Process: 15642 ExecStart=/home/dev/actions-runner/runsvc.sh (code=exited, status=203/EXEC)
 Main PID: 15642 (code=exited, status=203/EXEC)

Aug 10 22:48:11 dev systemd[1]: Started GitHub Actions Runner (dev).
Aug 10 22:48:11 dev systemd[1]: actions.runner.dev.service: Main process exited, code=exited, status=203/EXEC
Aug 10 22:48:11 dev systemd[1]: actions.runner.dev.service: Failed with result 'exit-code'.

 

평소에는 잘 동작했던지라 당황스러웠지만!

Active: failed 와 (code=exited, status=203/EXEC) 라는 단서를 가지고 찾아보니 

뭔가 ExecStart= ~~ 이 값 관련하여 수정하면 될 것 같았습니다.

📝 수정해보기 📝

ExecStart 를 바꾸려고 보니 조금 전 실행했던 svc.sh 에는 ExecStart 라는 값이 보이지 않았습니다.

[root@sitebunny-qa-dev actions-runner]# grep ExecStart */*
bin/actions.runner.service.template:ExecStart={{RunnerRoot}}/runsvc.sh
grep: bin/checkScripts: Is a directory
grep: bin/hashFiles: Is a directory
grep: externals/node12: Is a directory
grep: externals/node12_alpine: Is a directory
grep: externals/node16: Is a directory
grep: externals/node16_alpine: Is a directory

grep 명령어로 찾아보니! bin 하위 actons.runner.service.template 위치에 있었습니다.

[root@sitebunny-qa-dev actions-runner]# vi bin/actions.runner.service.template

바로 vi 로 수정해주었습니다. 

# 기존 
[Unit]
Description={{Description}}
After=network.target

[Service]
ExecStart={{RunnerRoot}}/runsvc.sh
User={{User}}
WorkingDirectory={{RunnerRoot}}
KillMode=process
KillSignal=SIGTERM
TimeoutStopSec=5min


# 변경
[Install]
WantedBy=multi-user.target

[Unit]
Description={{Description}}
After=network.target

[Service]
ExecStart=/bin/bash {{RunnerRoot}}/runsvc.sh
User={{User}}
WorkingDirectory={{RunnerRoot}}
KillMode=process
KillSignal=SIGTERM
TimeoutStopSec=5min

[Install]
WantedBy=multi-user.target

기존 ExecStart={{RunnerRoot}}/runsvc.sh 에서

{{RunnerRoot}} 앞에 /bin/bash 를 붙인 다음

ExecStart=/bin/bash {{RunnerRoot}}/runsvc/sh 로 변경하고 저장하였습니다.

😃 해결! 😃

위와 같이 수정하고 다시 sudo ./svc.sh start 를 진행하니!

[root@dev actions-runner]# sudo ./svc.sh start

/etc/systemd/system/actions.runner.dev.service
● actions.runner.dev.service - GitHub Actions Runner (dev)
   Loaded: loaded (/etc/systemd/system/actions.runner.dev.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-08-10 22:48:36 KST; 13ms ago
 Main PID: 15811 (bash)
    Tasks: 2 (limit: 383893)
   Memory: 4.8M
   CGroup: /system.slice/actions.runner.dev.service
           ├─15811 /bin/bash /home/qa42/actions-runner/runsvc.sh
           └─15814 ./externals/node16/bin/node ./bin/RunnerService.js

Aug 10 22:48:36 dev systemd[1]: Started GitHub Actions Runner (dev).
Aug 10 22:48:36 dev bash[15811]: .path=/home/qa42/.local/bin:/home/qa42/bin:/sbin:/bin:/usr/sbin:/usr/bin

문제없이 잘 진행되는 것을 확인하였습니다.

 

앞으로 actions-runner 를 활용하여 이것 저것 많이 해볼 예정입니다.

읽어주셔서 감사합니다.

Comments