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.falseolarak ayarlandığında, bu iş başarısız olursa pipeline durur.trueolursa, 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.ymldosyasında veya proje/grup ayarlarında tanımlanan değişkenleri kullanabilir.rules: Daha karmaşık çalışma senaryoları,rulesanahtar kelimesi ilewhen: manualkullanı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.