2017-12-06 16 views
0

나는 자신의 우분투 서버에 간단한 gitlab-runner 설정을했습니다. 그것은 사용 등록 :gitlab-runner는 사용자가 아닌 root로 임의로 실행됩니다. gitlab-runner

sudo gitlab-runner register -n --url https://gitlab.com/ --registration-token {{GITLAB_REGISTRATION_TOKEN}} --executor shell --description "{{GITLAB_RUNNER_DESCRIPTION}}" 

유일한 gitlab 주자 프로세스가 실행 (ps -ef)입니다 :

/usr/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner 

/etc/gitlab-runner/config.toml 설정 파일에는 다음이 포함

concurrent = 1 
check_interval = 0 

[[runners]] 
    name = "iouze/landing" 
    url = "https://gitlab.com/" 
    token = "0530b.....6f9" 
    executor = "shell" 
    [runners.cache] 

언제 CI 파이프 라인을 트리거를 실행하면 작업이 사용자 gitlab-runner 사용자로 선택되는 경우도 있습니다 (이 경우 sheell executor로 올바르게 실행됩니다).

하지만 때로는 루트로 실행되는 경우 도커 실행 프로그램으로 실행되고 스크립트가 예기치 않은 환경에서 실행되기 때문에 오류가 발생합니다.

분명히 서비스에 - 사용자가있을 때 루트로 실행되는 이유는 무엇입니까?

답변

0

gitlab.com에서 실행 중이며 이미 구성된 공유 러너가 파이프 라인 작업을 선택하는 경우가 있습니다. 공유 주자를 사용 중지했습니다.