GitLab Runner의 시스템 서비스
GitLab Runner의 시스템 서비스에 대해 설명합니다.
GitLab Runner는 Go service 라이브러리 를 사용하여 기반 OS를 감지하고 init 시스템에 기반하여 서비스 파일을 설치합니다. Note service 패키지는 프로그램을 서비스(데몬)로 설치, 제거, 시작, 중지 및 실행합니다. Windows XP+, Linux(systemd, Upstart, System V) 및 macOS( launchd )가 지원됩니다. GitLab Runner가 설치 되면 서비스 파일이 자동으로 생성됩니다: systemd : /etc/systemd/system/gitlab-runner.service Upstart : /etc/init/gitlab-runner 사용자 정의 환경 변수 설정 # GitLab Runner를 사용자 정의 환경 변수와 함께 실행할 수 있습니다. 예를 들어, 러너의 환경에 GOOGLE_APPLICATION_CREDENTIALS 를 정의하려는 경우입니다. 이 작업은 러너가 실행하는 모든 작업에 자동으로 추가되는 변수를 정의하는 environment 구성 설정 과는 다릅니다. systemd 사용자 정의 # systemd를 사용하는 러너의 경우, 내보낼 각 변수에 대해 Environment=key=value 줄을 사용하여 /etc/systemd/system/gitlab-runner.service.d/env.conf 를 생성합니다. 예시: [Service] Environment =GOOGLE_APPLICATION_CREDENTIALS=/etc/gitlab-runner/gce-credentials.json 그런 다음 구성을 다시 로드합니다: systemctl daemon-reload systemctl restart gitlab-runner.service Upstart 사용자 정의 # Upstart를 사용하는 러너의 경우, /etc/init/gitlab-runner.override 를 생성하고 원하는 변수를 내보냅니다. 예시: export GOOGLE_APPLICATION_CREDENTIALS="/etc/gitlab-runner/gce-credentials.json" 적용하려면 러너를 재시작합니다. 기본 중지 동작 재정의 # 경우에 따라 서비스의 기본 동작을 재정의해야 할 수 있습니다. 예를 들어, GitLab Runner를 업그레이드할 때는 실행 중인 모든 작업이 완료될 때까지 정상적으로 중지해야 합니다. 그러나 systemd, Upstart 또는 다른 서비스는 알아채지 못한 채로 프로세스를 즉시 재시작할 수 있습니다. 따라서 GitLab Runner를 업그레이드할 때 설치 스크립트는 당시 새 작업을 처리하고 있었을 가능성이 있는 러너 프로세스를 종료하고 재시작합니다. systemd 재정의 # systemd를 사용하는 러너의 경우, 다음 내용으로 /etc/systemd/system/gitlab-runner.service.d/kill.conf 를 생성합니다: [Service] TimeoutStopSec = 7200 KillSignal =SIGQUIT 이 두 설정을 systemd 유닛 구
