Sobes.tech
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]