İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • DevOps
  • Dependabot’u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende
DevOps Geliştirici Araçları Dependabot, dependabot.yml, güncelleme ritmi, güvenlik güncellemeleri, pull request gruplama Aşkın KILIÇ 29/07/2026 2 Yorumlar

Dependabot’u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende

Dependabot'u Sakinleştirmek: Gruplayın, Yavaşlatın, Güvende
📑 İçindekiler
  1. Sorun: doğru varsayılanlar, yanlış ritim
  2. Çözüm: birbirini tamamlayan üç değişiklik
  3. 1. Her şeyi tek bir PR'da gruplayın
  4. 2. Ritmi günlükten aylığa çekin
  5. 3. Kullandığınız her ekosistemi kapsayın
  6. Peki güvenlik güncellemeleri?
  7. Yeni bir güvenlik ağı: varsayılan paket bekleme süresi
  8. Kendi deponuza nasıl uygularsınız?
  9. Sonuç
  10. İlgili İçerikler
  11. Kaynaklar ve İleri Okuma

⏱️ 6 dk okuma📅 29 Temmuz 2026

Aktif bir depo bakıyorsanız o sabah hissini bilirsiniz: Pazartesi bildirimlerinizi açtığınızda karşınızda beş, on, hatta bir düzine Dependabot pull request’i durur. Her biri tek bir bağımlılığı tek bir yama sürümü ilerletir. Tek başına faydalıdır, toplamda gürültüdür. Gürültü ise önemli güncellemelerin gözden kaçmasının en kısa yolu. İyi haber şu: Dependabot bu sorunu çözecek özelliklerle zaten geliyor. Bu yazıda, GitHub Blog’da Bruno Borges’in paylaştığı GCToolkit örneğinden yola çıkarak dependabot.yml dosyanızı nasıl sadeleştirebileceğinizi ele alıyoruz.

Sorun: doğru varsayılanlar, yanlış ritim

GitHub Blog yazısına göre Microsoft’un açık kaynaklı Java kütüphanesi GCToolkit‘in Temmuz 2026 itibarıyla toplam 578 commit’inin 92’si, yani yaklaşık altıda biri Dependabot sürüm güncellemesiydi. Bunların 61’i son 12 aya aitti ve zaman zaman aynı gün içinde birden fazla PR açıldığı görülüyordu. Rutin bakım için hatırı sayılır bir gözden geçirme, birleştirme ve CI eforu.

Projenin başlangıçtaki yapılandırması şöyleydi:

version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10

Yaygın bir başlangıç noktası ama burada iki nokta gürültüyü büyütüyor:

  • interval: daily Dependabot’a güncellemeleri her iş günü kontrol etmesini söyler; yani hafta içinin herhangi bir gününde yeni PR’lar açılabilir.
  • Gruplama yok. Her bağımlılık kendi PR’ını alır. On güncelleme varsa on PR, on CI çalışması, on inceleme bildirimi olur.

open-pull-requests-limit: 10 satırı ise bir çözüm değil, semptomdur: Seli 10 açık PR ile sınırlar ama sele engel olmaz. Not: schedule.interval zorunlu bir alan; GitHub’ın önerdiği başlangıç şablonu ise weekly kullanıyor.

Çözüm: birbirini tamamlayan üç değişiklik

GitHub Blog yazısında paylaşılan pull request ile yapılandırma şu hale getirildi:

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
monthly-batch:
patterns:
- "*"
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "monthly"
groups:
monthly-batch:
patterns:
- "*"

1. Her şeyi tek bir PR’da gruplayın

Değişikliğin kalbi groups bloğu. Bir Dependabot grubu, birden fazla bağımlılık güncellemesini tek bir PR içinde toplar. Grubun adı (monthly-batch) size aittir; PR başlığında ve dal adında görünür. patterns listesi hangi bağımlılıkların gruba dahil olacağını belirler ve "*" hepsini kapsayan bir joker karakterdir.

Böylece 10 PR yerine, örneğin “Bump the monthly-batch group with 10 updates” gibi tek bir PR alırsınız. Tek dal, tek CI çalışması, tek inceleme. Toplu güncelleme yeşilse tek seferde birleştirirsiniz; bir şey bozulursa sorun tek ve incelenebilir bir yerde kalır.

Daha büyük projelerde her şeyi tek grupta toplamak zorunda değilsiniz. Daha spesifik desenlere sahip birden fazla adlandırılmış grup tanımlayabilirsiniz: Test kütüphaneleri bir grupta, üretim bağımlılıkları başka bir grupta olabilir.

GitHub Blog’a göre Şubat 2026’daki bir güncellemeyle Dependabot, aynı bağımlılığın birden fazla dizin içindeki güncellemelerini tek bir PR olarak gruplayabilme yeteneği kazandı. Özellik monorepo’ları hedefliyor: Bir kütüphane bir düzine servis içinde sabitlenmişse, artık directories anahtarına yol listesi veya /apps/* gibi bir glob verip hepsini tek grupta toplayabilirsiniz.

- package-ecosystem: "npm"
directories:
- "/apps/*"
schedule:
interval: "monthly"
groups:
monthly-batch:
group-by: dependency-name
patterns:
- "*"

2. Ritmi günlükten aylığa çekin

schedule.interval‘ı daily‘den monthly‘e almak, “bir şey değiştiğinde her zaman” ritmini “planlayabileceğiniz bir programla ayda bir” ritmine dönüştürür. Gruplama ile birleşince gerçek gürültü azalması burada olur: Dependabot artık her ay her ekosistem için tek bir toplu PR açar.

Bağımlılıkları kararlı ve güncellemeleri nadiren acil olan olgun kütüphaneler için aylık iyi bir tercih. Ara bir seçenek isterseniz weekly de mevcut; ayrıca schedule.day ve schedule.time ile günü ve saati sabitleyebilirsiniz.

3. Kullandığınız her ekosistemi kapsayın

Orijinal yapılandırma yalnızca github-actions için sürüm güncellemesi istiyordu. Ama GCToolkit Maven ile derlenen bir Java projesi olduğundan uygulama bağımlılıkları Dependabot sürüm güncellemesi almıyordu. Yeni yapılandırma ikinci bir updates girdisi ekleyerek bunu düzeltiyor. Gürültüyü azaltmak kazancın yarısı; diğer yarısı önemli bağımlılıkların da izlendiğinden emin olmak.

Peki güvenlik güncellemeleri?

Herhangi bir şeyi yavaşlatmadan önce her bakıcının sorması gereken soru budur ve tasarımın parladığı yer burasıdır. Varsayılan olarak burada belirlediğiniz gruplar ve zamanlama sürüm güncellemelerinizi şekillendirir, güvenlik düzeltmelerinizi değil. GitHub Blog’a göre Dependabot güvenlik güncellemeleri, düzeltmesi olan bir güvenlik açığı açıklandığı anda schedule‘dan bağımsız olarak açılır ve sürüm güncelleme gruplarınızdan ayrı tutulur. Yani rutin bump’lar için aylık ritim, kritik yamayı geciktirmez. (İsterseniz applies-to: security-updates kapsamlı bir grupla güvenlik düzeltmelerini de gruplayabilirsiniz, ama bunlar yine programınıza değil, açıklamalara bağlı tetiklenir.)

Bir uyarı: Bu güvenlik ağı yalnızca depoda Dependabot güvenlik güncellemeleri açıksa devrededir; bunun için bağımlılık grafiği ve Dependabot uyarılarının da etkin olması gerekir. Daha yavaş bir sürüm güncelleme ritmine güvenmeden önce bunların açık olduğunu doğrulayın.

Yeni bir güvenlik ağı: varsayılan paket bekleme süresi

Son dönemde eklenen ve otomatik çalışan bir gürültü azaltma parçası daha var: Dependabot artık yeni bir sürüm için sürüm güncellemesi PR’ı açmadan önce, o sürümün kayıt defterinde en az üç gün geçmesini bekliyor. Bu cooldown varsayılan davranış ve yapılandırma gerektirmiyor.

Neden beklemek? Yeni bir sürüm, tedarik zinciri saldırıları için en yaygın giriş noktalarından biridir. Ele geçirilmiş veya sadece bozuk bir sürüm, bakıcılar ve topluluk sorunu fark etmeden bağımlılık güncellemelerinize ulaşabilir. Kısa bir gecikme bu sinyalin yüzeye çıkması için zaman kazandırır.

Bilmeye değer iki nokta:

  • Yalnızca sürüm güncellemelerine uygulanır. Güvenlik güncellemeleri hala hemen açılır; kritik düzeltmeler bekleme süresi tarafından tutulmaz.
  • Kontrol sizde. .github/dependabot.yml içindeki cooldown seçeneğiyle pencereyi genişletebilir, daraltabilir, semantik sürümleme seviyesine göre ayarlayabilir veya tamamen devre dışı bırakabilirsiniz:
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "monthly"
cooldown:
default-days: 7
groups:
monthly-batch:
patterns:
- "*"

Kendi deponuza nasıl uygularsınız?

Bu deseni birkaç dakika içinde benimseyebilirsiniz:

  • Deponun varsayılan dalında .github/dependabot.yml dosyasını açın veya oluşturun.
  • Bağımlı olduğunuz her package-ecosystem için schedule.interval‘ı weekly veya monthly olarak ayarlayın.
  • Ekosistem başına tek bir PR’da toplamak için tek joker gruplu (patterns: ["*"]) bir groups bloğu ekleyin.
  • Yalnızca github-actions değil, gerçekten kullandığınız her ekosistemi listeleyin: maven, npm, pip, gomod, docker ve diğerleri.
  • Değişikliği commit’leyin ve sonraki zamanlanmış çalıştırmanın tek, gruplanmış bir PR üretmesini bekleyin.

İnce ayar için birkaç ipucu:

  • Geniş başlayın, sonra bölün. Tek bir joker grup en basit başlangıç noktasıdır. İlerleyen zamanda yama seviyesi ve ana sürüm güncellemelerini farklı ele almak isterseniz jokeri daha hedefli adlandırılmış gruplara ayırabilirsiniz.
  • Güvenlik düzeltmelerini bu ritme sokmayın. Dependabot güvenlik güncellemeleri güvenlik açığı açıklamalarıyla tetiklenir; aylık ritim onları geciktirmez.
  • Cooldown’a yaslanın. Üç günlük varsayılan zaten sizi çok yeni bozuk sürümlerden korur; daha geniş bir güvenlik payı isterseniz cooldown.default-days değerini artırabilirsiniz.
  • Aralığı doğru boyutlandırın. Hızlı ilerleyen uygulamalar weekly‘yi tercih edebilir, kararlı kütüphaneler monthly ile idare eder.
  • Monorepo dizinlerini birleştirin. Aynı bağımlılık birçok dizinde yaşıyorsa bunları directories altında listeleyin ve grupta group-by: dependency-name ayarlayın.

Sonuç

Bağımlılık güncellemeleri, otomatikleştirmesi kolay olan ama sonra görmezden gelinmeye başlayan işlerdendir; bu da amacı yok eder. Çözüm Dependabot’u kapatmak veya PR’ları bakmadan birleştirmek değil, çıktısını rutin işin sessiz ve toplu, acil işin ise fark edilir olduğu bir biçime sokmaktır. GCToolkit bunu yaklaşık bir düzine satır YAML ile yaptı: Her şeyi gruplayın, ritmi aylığa yavaşlatın ve her ekosistemin kapsandığından emin olun. Üzerine yeni varsayılan cooldown eklendiğinde, o aylık toplu PR bile size ulaşmadan önce birkaç günlük olgunluk kazanmış olur.

İlgili İçerikler

  • Dependabot’ta Bekleme Süresi: Neden Üç Gün?
  • Dependabot artık sbt’yi görüyor: Java ekosisteminde küçük ama etkili değişim
  • Microsoft Agent Framework ve AGT: Ajanları Üretimde Güvende Tutmak

Kaynaklar ve İleri Okuma

  • docs.github.com
  • docs.github.com
  • github.blog
  • Tame Dependabot: Group your updates, slow the cadence, keep security fast (Orijinal Yazı)
  • Microsoft GCToolkit deposu
  • GCToolkit dependabot.yml değişikliği (PR #572)
  • Dependabot sürüm güncellemelerini yapılandırma dokümanı
  • PR oluşturmayı optimize etme rehberi
  • Birden fazla dizinde bağımlılık adına göre gruplama duyurusu
  • Dependabot seçenekleri referansı
  • Dependabot güvenlik güncellemeleri hakkında
  • Cooldown gerekçesi: Dependabot neden bekliyor?
  • Gürültüyü aşmak: Dependabot uyarılarını önceliklendirme
  • GitHub Actions 2026 Güvenlik Yol Haritası: Sırada Bizi Neler Bekliyor?
  • GitHub Advanced Security’de Bütçe Sınırı: Kontrol Artık Sıkı
🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

Hackathon: İki Günde Fikirden Çalışan Prototipe
Hackathon: İki Günde Fikirden Çalışan Prototipe11 Eki 2026
azd 1.26 Geldi: tool, exec ve Multi-Layer Provisioning Notları
azd 1.26 Geldi: tool, exec ve Multi-Layer Provisioning Notları28 Haz 2026
TFVC’de Eski Politikaları Temizleyin: Azure DevOps Uyarısı
TFVC’de Eski Politikaları Temizleyin: Azure DevOps Uyarısı9 Mar 2026
Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası
Azure Cloud-Native Temeli: AI Ajanları İçin Yol Haritası18 Eki 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket Dependabot dependabot.yml güncelleme ritmi güvenlik güncellemeleri pull request gruplama
Önceki yazı

Azure SDK Release (July 2026)

Sonraki yazı

Ingress NGINX Emekli Oluyor: Kubernetes’ten Kritik Uyarı

İlginizi Çekebilir

Ignite UI for Blazor: 50+ Bileşen MIT Lisansıyla Açık
Aşkın KILIÇ 0

Ignite UI for Blazor: 50+ Bileşen MIT Lisansıyla Açık

28/10/2026
Visual Studio Ekim Güncellemesi: Git ve Copilot Yenilikleri
Aşkın KILIÇ 0

Visual Studio Ekim Güncellemesi: Git ve Copilot Yenilikleri

27/10/2026
Intelligent Terminal 0.2.2572: Ajan Başlatma %56 Hızlandı
Aşkın KILIÇ 0

Intelligent Terminal 0.2.2572: Ajan Başlatma %56 Hızlandı

27/10/2026

2 comments

comments user
Sibel V. 30/07/2026 09:34

Dependabot’u hiç bu kadar ince ayarlamamıştım, genelde ya tamamen kapatıyorum ya da gelen PR’ları görmezden geliyorum. groups özelliğini biliyordum ama schedule ile birlikte bu şekilde kullanmayı denememiştim, haftaya deneyeceğim.

comments user
Elif D. 30/07/2026 09:44

Dependabot’u hiç bu şekilde yapılandırmayı düşünmemiştim, her gün onlarca PR açılıyor ve çoğunu görmezden geliyorum. groups ile toparlamak gerçekten mantıklı, deneyeceğim. Bu arada şu yazınız da güzeldi: Visual Studio’da Modele Ne Kadar Düşüneceğini Söyleyin — https://www.askinkilic.com.tr/visual-studioda-modele-ne-kadar-dusunecegini-soyleyin/

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Ignite UI for Blazor: 50+ Bileşen MIT Lisansıyla Açık
    28/10/2026 Ignite UI for Blazor: 50+ Bileşen MIT Lisansıyla Açık
  • Visual Studio Ekim Güncellemesi: Git ve Copilot Yenilikleri
    27/10/2026 Visual Studio Ekim Güncellemesi: Git ve Copilot Yenilikleri
  • Intelligent Terminal 0.2.2572: Ajan Başlatma %56 Hızlandı
    27/10/2026 Intelligent Terminal 0.2.2572: Ajan Başlatma %56 Hızlandı
  • Azure SQL Hyperscale'in Socrates Mimarisi Nasıl Çalışır
    27/10/2026 Azure SQL Hyperscale’in Socrates Mimarisi Nasıl Çalışır
  • Visual Studio 2026 Hot Exit: Notlar Oturumlar Arası Kalsın
    27/10/2026 Visual Studio 2026 Hot Exit: Notlar Oturumlar Arası Kalsın
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Bulut Sunucu Altyapısı
    09/03/2026 Microsoft Sovereign Cloud: İzolasyonda Güvenli Bulut
  • GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
    04/10/2026 GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
  • Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
    18/03/2026 Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure Functions Azure OpenAI azure sdk Azure SQL CI/CD CodeQL code review copilot Copilot CLI DevOps Entra ID geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry MSVC otomasyon performans Pull Request RAG verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 507 yazı 🏗️ Bulut Altyapı 407 yazı 🤖 Yapay Zeka 331 yazı ☁️ Microsoft Azure 279 yazı 🔧 DevOps 277 yazı 🔒 Güvenlik & Kimlik 223 yazı 🏢 Kurumsal Teknoloji 107 yazı 📊 Veri & Analitik 78 yazı 🐳 Konteyner & Kubernetes 62 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Azure SDK Release (July 2026)...
    Ingress NGINX Emekli Oluyor: K... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS