SSH

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

이것은 원격 머신에서 SSH를 통해 명령을 실행하여 빌드를 실행할 수 있도록 허용하는 간단한 실행기입니다.

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

SSH 실행기 사용

SSH 실행기를 사용하려면 [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 옵션을 지정하세요.

작업 아티팩트를 업로드하려면 SSH를 통해 연결하는 호스트에 gitlab-runner를 설치하세요.

엄격한 호스트 키 확인 구성

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

GitLab 15.0 이후 기본값은 false이며, 즉 호스트 키 확인이 필요합니다.