InfoGrab DocsInfoGrab Docs

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