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로 호스트 키 확인이 필요합니다.