Sobes.tech
Middle

GitLab'da bir düğmeye basarak işin nasıl çalıştırılacağını nasıl ayarlarsınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

GitLab CI/CD'de bir işi manuel olarak başlatmak için .gitlab-ci.yml dosyasındaki iş tanımında when: manual anahtar kelimesi kullanılır.

Örnek:

stages:
  - build
  - deploy

build_job:
  stage: build
  script:
    - echo "Proje inşa ediliyor..."
    # İnşa komutları

deploy_staging:
  stage: deploy
  script:
    - echo "Staging'e dağıtım..."
    # Dağıtım komutları
  when: manual # Bu iş manuel olarak başlatılmalı
  allow_failure: false # Varsayılan olarak false, ama açıkça belirtilmiş

Açıklama:

  • when: manual: GitLab'a, bu işin kodda (commit) veya zamanlamaya göre otomatik başlamayacağını, kullanıcının GitLab arayüzü üzerinden manuel olarak başlatmasını bekleyeceğini söyler.
  • allow_failure: false: Bu iş başarısız olursa, sonraki işlerin (varsa) çalışıp çalışmayacağını belirler. false olarak ayarlandığında, bu iş başarısız olursa pipeline durur. true olursa, pipeline başarısız olsa bile devam eder.

Bu yapılandırma ile .gitlab-ci.yml dosyasını ekleyip commit ettikten sonra, GitLab pipeline arayüzünde (CI/CD -> Pipelines) "Run" düğmesi görünür veya işin durumu "Manual" olarak gösterilir. Bu düğmeye tıklayarak işi başlatabilirsiniz.

Ayrıca, manuel işleri otomatik başlatan aşamalara dahil edebilirsiniz. Örneğin:

stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "İnşa ediliyor..."

test_job:
  stage: test
  needs: [build_job]
  script:
    - echo "Test ediliyor..."

deploy_production:
  stage: deploy
  needs: [test_job]
  script:
    - echo "Üretime dağıtım..."
  when: manual # Sadece başarılı test sonrası ve manuel
  variables:
    TARGET_ENVIRONMENT: "production" # Örnek: manuel işe değişkenler iletmek

Burada, deploy_production işi, test_job başarılı olduktan sonra manuel olarak kullanılabilir hale gelir.

Ek olarak:

  • variables: Manuel işler, .gitlab-ci.yml dosyasında veya proje/grup ayarlarında tanımlanan değişkenleri kullanabilir.
  • rules: Daha karmaşık çalışma senaryoları, rules anahtar kelimesi ile when: manual kullanılarak, işin ne zaman kullanılabilir veya zorunlu olacağı koşulları belirleyebilir.
  • API: Manuel işler, GitLab CI/CD API'si aracılığıyla da başlatılabilir.

Özetle, when: manual GitLab'da işlerin manuel olarak başlatılmasını sağlayan temel mekanizmadır.