Junior
Рондани pipeline-и runner дар GitLab CI дар чӣ кор мекунад?
sobes.tech AI
Ҷавоб аз AI
Гитлаб Раннер — агент, ки иҷро мекунад вазифаҳои пайплайни шумо. Раннер метавонад дар платформаҳои гуногун фаъолият кунад:
- Мошини виртуалӣ ё сервери физикӣ: Раванди анъанавӣ, ки имкон медиҳад назорати пурра бар муҳит.
- Контейнерҳо (Docker): Ҳар як вазифаро дар муҳити ҷудошуда ва стандартӣ иҷро мекунад. Ин усули маъмултарин аст.
- Kubernetes: Гитлаб Раннер барои Kubernetes иҷрокунанда дорад, ки ҳар вазифаро дар pod-и алоҳида иҷро мекунад.
- Провайдерҳои облак: Баъзе провайдерҳои облак хизматрасониҳоро барои иҷрои контейнериҳо ё мошинҳои виртуалӣ пешниҳод мекунанд, ки метавонанд ҳамчун Раннер истифода шаванд.
- macOS / Windows: Имкон дорад, ки Раннер дар ин системаҳоро барои ҷамъоварии лоиҳаҳои махсус иҷро кард.
Дар вақти танзим кардани Раннер, "executor" нишон дода мешавад, ки муайян мекунад, ки чӣ гуна вазифаҳо иҷро мешаванд. Беҳтаринҳо: docker, shell, kubernetes.
Масалан, дар файли .gitlab-ci.yml бо истифода аз executor docker, таъриф кардани Раннер:
stages:
- build
build_job:
stage: build
script:
- echo "Тавзеҳоти лоиҳа..."
Дар ин мисол, вазифаи build_job дар Раннер, ки конфигуратсияшуда бо executor docker, иҷро мешавад. GitLab Runner ин вазифаро мегирад ва онро дар контейнери нав Docker иҷро мекунад, бо истифода аз тасвири Docker, ки дар конфигуратсияи Раннер ё дар .gitlab-ci.yml (агар image нишон дода шавад) муайян шудааст.