Sobes.tech
Middle

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да жумушту кол менен иштетүүнүн негизги механизми.