BİLGİ MERKEZİ

GitLab Runner Job Pending Sorunu Nasıl Teşhis Edilir?

Pending job çoğunlukla uygun Runner eşleşmemesi, kapasite, tag, korumalı branch veya Runner bağlantı problemi nedeniyle oluşur. Önce hangi katmanın job'ı engellediğini belirleyin.

01

Pending ve running problemi aynı değildir

Pending durumundaki job henüz uygun bir Runner tarafından alınmamıştır. Running durumda takılan job ise executor, build ortamı veya job komutları açısından incelenmelidir.

Arayüzdeki mesaj, tag veya aktif Runner eşleşmesi bulunmadığını gösterebilir; kesin neden Runner ve GitLab tarafındaki kayıtlarla birlikte değerlendirilmelidir.

02

Önce Runner servisinin durumunu kaydedin

Runner hostunda servis ve kayıt görünümünü değiştirmeden kontrol edin. Çıktılardaki URL ve tanımlayıcıları dışarıda paylaşmadan önce maskeleyin.

sudo systemctl status gitlab-runner --no-pager
sudo gitlab-runner list
sudo gitlab-runner verify
  • Servis aktif mi ve sürekli yeniden başlıyor mu?
  • Runner beklenen GitLab URL'sine mi kayıtlı?
  • Verify sonucu bağlantının kurulabildiğini gösteriyor mu?
  • Runner arayüzde paused veya offline görünüyor mu?
03

Tag ve koruma kuralları

Job tag'leri ile Runner tag'leri birebir uyumlu değilse job alınmaz. Untagged job kabulü, protected Runner ve protected branch ayarları da eşleşmeyi etkiler.

Tag eklemek veya korumayı kaldırmak hızlı görünse de güvenilmeyen kodun production yetkili bir Runner'da çalışmasına yol açabilir.

  • Job içinde tanımlanan tags listesi
  • Runner'ın Run untagged jobs ayarı
  • Protected Runner ve branch ilişkisi
  • Proje, grup veya instance Runner kapsamı
  • Runner'ın kilitli olduğu proje
04

Kapasite ve executor katmanı

Runner online olsa bile concurrency sınırı, boş worker bulunmaması veya executor başlatma hatası job'ların beklemesine neden olabilir.

Kapasite artırılmadan önce job süresi, kuyruk derinliği, CPU, bellek, disk ve eşzamanlılık birlikte ölçülmelidir.

  • Global concurrent ve Runner limit değerleri
  • Uzun süren veya kilitlenen mevcut job'lar
  • Docker executor image çekme ve disk sorunları
  • Kubernetes executor pod scheduling sorunları
  • Shell executor izin ve çalışma dizini problemleri
05

Ağ, TLS ve zaman senkronizasyonu

Runner GitLab API'ye erişemiyorsa arayüzde offline görünebilir veya job alamaz. Proxy, DNS, TLS zinciri ve sistem saati kontrol edilmelidir.

Sertifika doğrulamasını kapatmak kalıcı çözüm değildir; kurum içi CA zinciri doğru biçimde dağıtılmalıdır.

  • GitLab URL'si Runner hostundan çözümleniyor mu?
  • 443/TCP yolu proxy veya firewall tarafından engelleniyor mu?
  • TLS sertifika zinciri güvenilir mi?
  • Runner ve GitLab saatleri senkron mu?
  • Reverse proxy doğru external URL'yi iletiyor mu?
06

Ne zaman yapılandırma müdahalesi uzmanla yapılmalı?

Token yenileme, Runner yeniden kaydı, concurrency değişikliği, executor dönüşümü ve production yetkilerinin düzenlenmesi çalışan pipeline'ları veya güvenlik sınırlarını etkileyebilir.

Atlas Infrastructure; job-runner eşleşmesini, kapasiteyi, executor loglarını ve erişim modelini birlikte inceleyerek kontrollü düzeltme planı hazırlar.

SIK SORULAN SORULAR

GitLab hakkında sık sorulanlar

Runner online olduğu halde job neden Pending kalır?

Tag, protected branch, untagged job, proje kapsamı veya concurrency kuralları nedeniyle online bir Runner job için uygun olmayabilir.

Runner'ı yeniden kaydetmek sorunu çözer mi?

Bağlantı veya token sorununda gerekebilir; fakat kanıt toplamadan yeniden kayıt mevcut kimliği, etiketleri ve güvenlik kapsamını değiştirebilir.

Concurrency değerini artırmak güvenli mi?

Host ve executor kapasitesi ölçülmeden artırmak kaynak tükenmesine ve daha fazla job'ın birlikte başarısız olmasına neden olabilir.

GitLab Runner Job Pending Sorunu Nasıl Teşhis Edilir? | Atlas Infrastructure