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.
Ö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?
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
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
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?
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.
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.