Middle
Ինչպես է աշխատում GitLab Runner-ը։
sobes.tech AI
Պատասխան AI-ից
GitLab Runner — դա գործակալ է, որը գործարկում է CI/CD առաջադրանքները: Այն փոխանակում է տվյալներ GitLab CI/CD-ի հետ API-ի միջոցով: Երբ GitLab-ում տեղի է ունենում իրադարձություն, որը սկսում է পাইպլայն (օրինակ՝ կոմիտ), GitLab-ը ուղարկում է հարցում ռաներին: Ռաները ստանում է առաջադրանքը, կլոնավորում է պահոցը, կատարում է .gitlab-ci.yml-ում նկարագրված հրահանգները և վերադարձնում արդյունքը GitLab-ին:
Աշխատանքի հիմնական կողմերը՝
- Ռաներների տեսակներ: Shared, Specific, Group: տարբեր տեսակի տեսանելիություն և հասանելիություն նախագծերի համար:
- Executor (կատարող): Դիտարկում է միջավայրը, որտեղ առաջադրանքները կիրականացվեն: Պոպուլյար կատարողներ՝
shell,docker,kubernetes,virtualbox,ssh: Ընտրությունը ազդում է մեկուսացման և միջավայրի վրա: - Գրանցում: Ռաները գրանցվում է GitLab-ում՝ օգտագործելով տոքեն, կապելով այն կոնկրետ ինստանսի, խմբի կամ նախագծի հետ:
- Polling (հարցում): Ռաները ժամանակ առ ժամանակ հարցում է անում GitLab-ին՝ նոր առաջադրանքների համար:
config.toml: Կոնֆիգուրացիոն ֆայլ, որը սահմանում է ռաների կարգավորումները՝ ներառյալ կատարողի տեսակ, միաժամանակյա առաջադրանքների քանակը և այլ պարամետրեր:
Օրինակ՝ config.toml կառուցվածքը՝
# գլոբալ կարգավորումներ
concurrent = 4
# ռաների կարգավորումներ
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # ընտրություն կատարողի
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # պատկերը Docker կատարողի դեպքում
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]