SSH

Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-Managed
note

SSH 실행기는 현재 Bash에서 생성된 스크립트만 지원하며 캐싱 기능은 현재 지원되지 않습니다.

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

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 옵션을 지정하세요.

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

엄격한 호스트 키 검사 구성하기

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

GitLab 15.0 이상에서, 기본값은 호스트 키 검사가 필요하다는 의미로 false입니다.