Runner 생성 안되는 문제

알파로그·2023년 6월 18일
1

Error

목록 보기
28/37

✏️ 발단

  • github action 을 적용해 CD 를 구축하던중 Runner 생성에서 문제가 생겼다.
    • config.sh 를 실행해 runner 를 생성하는 명령어를 입력하니 아래와 같은 오류 메시지가 나타났다.
    • 참고로 cloud 는 Ncp 를 사용했다.

✏️ 문제 해결

📍 일반 사용자로 명령하기 - 실패

  • 오류 메시지에서 sudo 로 실행할 수 없다고 하니 일반 사용자를 생성해 시도해봤다.
adduser 사용자 이름
  • 새로운 사용자로 로그인해 runner 를 생성하니 권한이 없다는 오류메시지가 나왔다.
    • github에서 제공하는 runner의 기능은 외부 서버에 대해서 명령어를 전달할 수 있도록 연결을 시키는 것이기에 루트 권한이 없으면 실행을 못하게 하는 것이 맞다고 한다..
:/root/actions-runner$ ./config.sh --url https://github.com/choideakook/BK_Member_Server --token A3RPC4HJW4BKEJMI72JA4VDENHJM4
./config.sh: line 72: cd: /root/actions-runner: Permission denied
Failed to resolve full path of the current executable []

📍 sudo 로 명령하기 - 실패

  • 반대로 sudo 로 실행해보니 똑같이 Must not run with sudo 메시지가 나왔다.

📍 config.sh 파일 확인하기 - 정상

  • 혹시 config.sh 가 뭔가 잘못되어서 없거나,
    파일 내용이 잘못되었을 수도있으니 확인해봤다.
    - lscat 으로 확인해봤지만 정상적으로 파일이 존재했다.

📍 환경변수 설정하기 - 성공

  • GitHub action 은 기본적으로 루트 권한으로 실행되지 않도록 설계되어있다고한다.
    • 즉, 환경 변수 설정을 통해 루트 권한으로 실행할 수 있도록 허용해주면 원하는 작업을 성공할 수 있다는 뜻이다.
export RUNNER_ALLOW_RUNASROOT="1"

✏️ 닷넷 종속성 누락 오류 발생

  • 환경변수 설정을 통해 명령을 수행하는것이 가능해젔지만 새로운 오류가 발생했다.
Libicu's dependencies is missing for Dotnet Core 6.0
Execute sudo ./bin/installdependencies.sh to install any missing Dotnet Core 6.0 dependencies.
  • Libicu 의 종속성이 Dotnet Core 6.0 에 누락되어서 발생한 오류라고 한다.

✏️ 문제해결

📍 Dotnet 6.0 설치

  • 아래의 명령어로 누락된 종속성을 설치할 수 있다.
sudo ./bin/installdependencies.sh
  • 러너 실행
nohup ./run.sh &
  • 설치를 완료하고 다시 생성 명령을 실행하니 정상적으로 runner 가 생성되었다.

profile
잘못된 내용 PR 환영

0개의 댓글