GitLab Runner 및 등록된 개별 Runner의 동작을 변경할 수 있습니다.
GitLab Runner의 구성을 변경하려면 config.toml
파일을 수정해야 합니다.
대부분의 옵션을 변경할 때 GitLab Runner를 다시 시작할 필요가 없습니다. 여기에는 listen_address
를 제외한 [[runners]]
섹션의 파라미터와 글로벌 섹션의 대부분의 파라미터가 포함됩니다.
GitLab Runner는 3 초마다 구성 수정사항을 확인하고 필요한 경우 다시 로드합니다.
GitLab Runner가 동시에 여러 Job을 실행할 수 있도록 적절하게 concurrent
을 수정합니다.
예를 들어, 4vCPU/16GiB인 경우 concurrent = 4
로 설정합니다.
GitLab.com의 자동 확장(Auto-scaling) Shared Runner는 단일 작업이 1 vCPU와 3.75GiB를 사용하여 단일 인스턴스에서 실행되도록 구성됩니다.
아래 CI 파이프라인(.gitlab-ci.yml
)과 같이, Docker-in-Docker 컨테이너를 사용하여 docker build
와 같은 스크립트를 실행하기 위해서는 특권 모드(privileged mode) 설정이 필요합니다.
image: docker:git
services:
- docker:dind
build:
script:
- docker build -t my-image .
- docker push my-image
[runners.docker]
섹션에서 privileged = true
로 설정합니다.
위에서 언급한 Runner 옵션을 수정하려면 Runner 작업 디렉토리(예: /data/gitlab-runner
)에서 아래 명령을 실행하고 수정합니다.
sudo vi config/config.toml
수정한 config.toml
파일은 아래와 유사합니다.
concurrent = 4
check_interval = 0
shutdown_timeout = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "workshop runner"
url = "https://gitlab.example.com/"
id = 6
token = "glrt-_QMDghM_5bBuCa_FHy1J"
token_obtained_at = 2023-06-28T03:57:10Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0