GitLabта ишти баскычты басуу менен ишти ишке киргизүүнү кантип орнотуу керек?
sobes.tech AI
AIден жооп
GitLab CI/CD'да жумушту кол менен иштетүүнү конфигурациялоо үчүн .gitlab-ci.yml файлынын жумуш сүрөттөмөсүндө when: manual деген сөз колдонулат.
Мисал:
stages:
- build
- deploy
build_job:
stage: build
script:
- echo "Building the project..."
# куруу командалары
deploy_staging:
stage: deploy
script:
- echo "Deploying to staging..."
when: manual # Бул жумуш кол менен иштетилиши керек
allow_failure: false # Алгачкы мааниси false, бирок ачык көрсөтөбүз
Түшүндүрмө:
when: manual: GitLab'га бул жумуш автоматтык түрдө код өзгөртүүлөрү (commit) же график боюнча ишке киргизилбейт деп көрсөтөт. Ал колдонуучу интерфейс аркылуу кол менен иштетет.allow_failure: false: Кийинки жумуштар (эгер бар болсо) бул жумуш ийгиликсиз аяктагандан кийин ишке кирет же жокпу аны аныктайт. Эгерfalseдеп коюлса, пайплайн бул жумуш ийгиликсиз болсо токтойт. Эгерtrueдеп коюлса, пайплайн ийгиликсиз болсо да уланат.
Мындай .gitlab-ci.yml файлын кошуп, комит кылгандан кийин, GitLab пайплайн интерфейсинде (CI/CD -> Pipelines) deploy_staging жумушунун жанына "Run" баскычы пайда болот же анын абалы "Manual" деп көрсөтүлөт. Бул баскычты басканда, жумуш ишке кирет.
Ошондой эле, кол менен иштетилүүчү жумуштарды автоматтык түрдө башка жумуштарды иштеткен этаптарга киргизсе болот. Мисал:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building..."
test_job:
stage: test
needs: [build_job]
script:
- echo "Testing..."
deploy_production:
stage: deploy
needs: [test_job]
script:
- echo "Deploying to production..."
when: manual # Тек гана ийгиликтүү тесттен кийин, кол менен
variables:
TARGET_ENVIRONMENT: "production" # Мисал: кол менен жумушка өзгөрмөлөрдү берүү
Бул жерде deploy_production жумушу кол менен иштетүүгө гана жеткиликтүү болот, ал test_job ийгиликтүү аяктагандан кийин.
Кошумча:
variables: Кол менен иштетилүүчү жумуштар.gitlab-ci.ymlфайлына жана долбоор/топтун жөндөөлөрүнө белгиленген өзгөрмөлөрдү колдонушу мүмкүн.rules: Көбүрөөк шарттуу иштетүү сценарийлери үчүнrulesачкычын колдонуп,when: manualменен шарттарды аныктоого болот.- API: Кол менен иштетилүүчү жумуштарды GitLab CI/CD API аркылуу да ишке киргизсе болот.
Ошентип, when: manual — GitLabда жумушту кол менен иштетүүнүн негизги механизми.