Shell 실행기
GitLab Runner가 설치된 로컬 머신에서 빌드를 실행하는 Shell 실행기의 구성, 보안 고려사항, 프로세스 종료 방법을 설명합니다.
Shell 실행기를 사용하여 GitLab Runner가 설치된 머신에서 로컬로 빌드를 실행할 수 있습니다. Runner를 설치할 수 있는 모든 시스템을 지원합니다. 즉, Bash, PowerShell Core, Windows PowerShell 및 Windows Batch(사용 중단됨)용으로 생성된 스크립트를 사용할 수 있습니다. Note Shell 실행기를 사용하는 머신에서 공통 사전 요구 사항 을 충족하는지 확인하세요. 권한 있는 사용자로 스크립트 실행 # 스크립트는 gitlab-runner run 명령 에 --user 를 추가하면 권한 없는 사용자로 실행할 수 있습니다. 이 기능은 Bash에서만 지원됩니다. 소스 프로젝트는 다음 경로에 체크아웃됩니다: <working-directory>/builds/<short-token>/<concurrent-id>/<namespace>/<project-name> . 프로젝트의 캐시는 다음 경로에 저장됩니다: <working-directory>/cache/<namespace>/<project-name> . 여기서: <working-directory> 는 gitlab-runner run 명령에 전달된 --working-directory 값 또는 Runner가 실행 중인 현재 디렉토리입니다. <short-token> 은 Runner 토큰의 단축 버전입니다 (처음 8글자). <concurrent-id> 는 동일한 프로젝트에 대해 동시에 빌드를 실행하는 모든 러너 목록에서의 러너 인덱스입니다 ( CI_CONCURRENT_PROJECT_ID 사전 정의 변수 를 통해 접근 가능). <namespace> 는 GitLab에서 프로젝트가 저장된 네임스페이스입니다. <project-name> 은 GitLab에 저장된 프로젝트의 이름입니다. <working-directory>/builds 와 <working-directory>/cache 를 덮어쓰려면 config.toml 의 [[runners]] 섹션 아래에서 builds_dir 및 cache_dir 옵션을 지정하세요. 권한 없는 사용자로 스크립트 실행 # GitLab Runner가 Linux에서 공식 .deb 또는 .rpm 패키지 로 설치된 경우, 설치 프로그램은 gitlab_ci_multi_runner 사용자를 찾으면 사용하려고 합니다. 설치 프로그램이 gitlab_ci_multi_runner 사용자를 찾을 수 없는 경우, gitlab-runner 사용자를 만들어 대신 사용합니다. 모든 셸 빌드는 gitlab-runner 또는 gitlab_ci_multi_runner 사용자로 실행됩니다. 일부 테스트 시나리오에서는 빌드에서 Docker Engine 또는 VirtualBox와 같은 권한 있는 리소스에 접근해야 할 수 있습니다. 이 경우 gitlab-runner 사용자를 해당 그룹에 추가해야 합니다: usermod -aG docker
