2022. 5. 24. 10:39
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