728x90

gitlab-runner를 설치하고 서비스로 동작시키기 위해 gitlab-runner start를 하면 정상동작 하는 것처럼 보이지만,
정작 gitlab에서 job을 할당받지 못하고 pending 상태로 멈춰있는 경우가 있다.

$ sudo service gitlab-runner status
gitlab-runner.service - GitLab Runner
   Loaded: loaded (/etc/systemd/system/gitlab-runner.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Wed ####; 11s ago
  Process: 1100 ExecStart=/usr/lib/gitlab-runner/gitlab-runner run --working-directory /var/lib/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner (code=exit)
 Main PID: 1100 (code=exited, status=1/FAILURE)

Sep #### systemd[1]: gitlab-runner.service: Main process exited, code=exited, status=1/FAILURE
Sep #### systemd[1]: gitlab-runner.service: Failed with result 'exit-code'.

상태가 activating으로 되어 있는데 원인은 명령어 인자 중에 --working-directory=/var/lib/gitlab-runner 로 되어 있는데 해당 디렉토리가 없는 경우이다.

# cd /var/lib
# mkdir gitlab-runner
# chown gitlab-runner:gitlab-runner gitlab-runner/
# service gitlab-runner restart
# service gitlab-runner status
gitlab-runner.service - GitLab Runner
   Loaded: loaded (/etc/systemd/system/gitlab-runner.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed ####; 5s ago

해당 디렉토리를 생성하고 gitlab-runner에 권한을 부여하면 위와 같이 active가 되어 정상 동작하게 된다.

reference: https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3344

728x90
복사했습니다!