SSH

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed
note
SSH executor는 Bash에서 생성된 스크립트만 지원하며 캐싱 기능은 현재 지원되지 않습니다.

이것은 원격 머신에서 명령을 실행하여 빌드를 실행할 수 있는 간단한 executor입니다.

note
GitLab Runner가 SSH executor를 사용하는 원격 시스템에서 일반적인 전제 조건을 충족하는지 확인하세요.

SSH executor 사용

SSH executor를 사용하려면 [runners.ssh] 섹션에 executor = "ssh"를 지정하십시오. 예를 들어:

[[runners]]
  executor = "ssh"
  [runners.ssh]
    host = "example.com"
    port = "22"
    user = "root"
    password = "password"
    identity_file = "/path/to/identity/file"

password 또는 identity_file 또는 둘 다를 사용하여 서버에 대한 인증을 할 수 있습니다. GitLab Runner는 /home/user/.ssh/id_(rsa|dsa|ecdsa)에서 identity_file을 암묵적으로 읽지 않습니다. identity_file을 명시적으로 지정해야 합니다.

프로젝트의 소스는 다음에 확인됩니다: ~/builds/<short-token>/<concurrent-id>/<namespace>/<project-name>.

여기서:

  • <short-token>은 러너 토큰의 줄임말 버전(첫 8글자)입니다.
  • <concurrent-id>은 프로젝트의 문맥에서 특정 러너에서 로컬 작업 ID를 식별하는 고유한 번호입니다.
  • <namespace>은 GitLab에 저장된 프로젝트가 있는 네임스페이스입니다.
  • <project-name>은 GitLab에 저장된 프로젝트의 이름입니다.

~/builds 디렉터리를 덮어쓰려면 config.toml[[runners]] 섹션 아래에 builds_dir 옵션을 지정하십시오.

작업 artifacts를 업로드하려면 SSH를 통해 연결하는 호스트에 gitlab-runner를 설치하십시오.

엄격한 호스트 키 확인 구성

SSH StrictHostKeyChecking을 활성화하려면 [runners.ssh.disable_strict_host_key_checking]false로 설정되어 있는지 확인하십시오. 현재 기본값은 true입니다.

GitLab 15.0 및 이후에는 기본값이 false로 변경되어 호스트 키 확인이 필요합니다.