Azd Uzantılarını Otomatik Kurmak Artık Çocuk Oyuncağı: Dev Container’larda Sihirli Kolaylık
“Bir Dakika, Yine mi Eklenti Eksik?” derdine son!
Açıkçası, Açık net söyleyeyim—kod yazarken, proje kurarken. Ekipçe çalışırken beni hasta eden o an var ya… Her yeni repoda illa bir şey eksik! Bir bakmışsın extension lazım, terminalde yine “azd extension install bilmemne”… Resmen takıntı olmuş bende. Mesela geçen gün ne oldu? Müşteri ortamında heyecanla dev container hazır sandım; tam o anda kritik bir azd eklentisinin unutulduğunu fark ettim. Hem de onboarding’in ortasında patladık! Takım olarak felç geçirdik resmen. Eminim bu şoku ilk kez ben yaşamadım, siz de kıyısından köşesinden yakalanmışsınız.
Peki sonra ne oldu? Microsoft mühendisleri de bizim çektiğimiz acıyı bir noktada görmüş olacak ki sihirli bir çözüm getirmişler: Lafı hiç uzatmadan söylüyorum — artık azd uzantılarınızı dev container kurulurken otomatik yükletebiliyorsunuz. Eskisi gibi komut kasmayla uğraşmıyorsun, belgeden belgeye koşturmuyorsun – ilk build sırasında her şey pırıl pırıl otomatik geliyor.

Neden Otomatik Uzantı Kurulumu Hayat Kurtarıyor?
Tamam dürüst olalım; hızdan ödün vermeyenler toplandık burada! Ben projeye girerken tek istediğim “kodu aç-yolla”. O kadar. Ama gerçek dünyada işler öyle ilerlemiyor bazen ve başımızı ağrıtan senaryolar arka arkaya patlıyor:
- Kritik bir azd extension eksik geliyor – kod hata kusuyor!
- Ekipte yepyeni biri var ama README dosyası eskiyse veya kimse güncel tutmadıysa onboarding korku filmi gibi oluyor.
- Kod base mis gibi dev container’da açılıyor ama eklentileri eklemek için gene ekstra zaman harcıyoruz (sinir bozucu!).
Büyük ekiplerde? Hah işte orada fişek gibi çoğalıyor sıkıntılar… Kaç kişi kaç farklı makinede aynısını yaşamış bilmiyorum ama yüzde yüz eminim — “Hangisini koymayı unuttum acaba?” sorusunun cevabı çoğu zaman ya environment variable çıkıyor veya extension’dan gol yiyorsun!
Kendi Takımımda Yaşanan Gerçek Bir Olay
Bunu anlatmazsam içimde kalacak 😀 Yazın üç kişilik minnoş bir ekibimiz vardı; POC çıkarıyoruz. Herkes VS Code ile aynı projede ama biri M1 Mac kullanıyor, ötekiler Windows’a gömülmüş durumda. Dev container ayarlarımız basic modda ve herkesin local’inde başka başka azd extension’ları… Sonuç? Tahmin bile etmeyin—kaos! Kod kimde çalıştı bilemedik, geriye dönüp saatlerce log inceledik (ki nefret ederim). Otomatik uzantı kurma işini keşfedince bitti o dert; şimdi container kurulunca extensions da hop diye yerleşmiş oluyor. Sorun oranı = sıfır.
Peki Nasıl Yapıyoruz Bu Otomatik Kurulumu?
Kodu duvar kağıdı yapacak kadar kolay (ya bazen insan gözlerine inanamıyor):
{
"features": {
"ghcr.io/azure/azure-dev/azd:latest": {
"extensions": "azd-ext-example,azd-ext-another"
}
}
}
Detay isteyenlere ufak yol haritası bırakıyorum: (en azından benim deneyimim böyle)
- .devcontainer/devcontainer.json‘u bulup açıyorsun.
- “features” bölümünde azd alanını kontrol ediyorsun (hani yanlış dosyada yazmaya gerek yok).
- “extensions” satırı var ya — oraya yükletmek istediğin extension’ların adını virgülle ayrılmış şekilde atıyorsun; sonra kaydet!
- Sona geldik mi? Container rebuild et (“Rebuild Container”), tamamdır! 🎉
Masada gerilen şu soru tarihe karışıyor artık — “Benim platformda başka eksik çıktı mı?”. Yok kardeşim hepsi tam!
Kendi Proje Deneyimlerimden Ufak Bir İpucu
Bazen çok fazla özellik deniyorum demo/test projelerinde—işin suyunu çıkarmamak için şöyle yazıyorum genelde:
{
"features": {
"ghcr.io/azure/azure-dev/azd:latest": {
"extensions": "my-sql-ext,my-ai-ext,jmespath"
}
}
}
Dürüst olmak gerekirse, Bunun espirisi şu aslında—testten prod’a kadar kimin hangi modüllere ihtiyacı varsa ayrı uğraşa gerek olmadan toptan yükleniyor (evet JMESPath’i öneririm!). Detay ister misiniz? Kendi tecrübemi anlattığım şu link işinizi kolaylaştırabilir diye bırakıyorum:
bu yazıya bakabilirsiniz!

Peki ya Dezavantajları?
Yani, Mükemmellik hastaları buradaysa onlara küçük uyarılar bırakacağım – sistem süper diyelim. Bazı ince tuzaklar hala hayatta(!):
- Eğer yanlış extension ismini kaydedersen build aşaması tokadı basıp error fırlatabiliyor – debug işi seni bekler.
- Büyük projede rebuild yapmak biraz zaman alabiliyor çünkü tüm eklentiler taze taze kuruluyor yani tost makinesi hızını bekleme 🙂
- Ekipte herkes hemen adapte olmayabilir – yılların alışkanlığı kolay değişmez ki! Bence değiyor yine de– performans çok artıyor.
- Bazen de custom veya private registry’den gelen uzantılar özellikle authentication/config gerektirirse tekrar dokümana dönersin (ufak ayar işi çıkabilir).
Nerelerde Kullanmasam Daha İyi Olur?
Yani, Açıkçası minimal/küçük projeler için ekstra güç tüketmeye değer mi? Hani sadece Markdown editörüyle idare eden repo varsa fazladan plugin şovuna gerek yok — kaynak israfına dönüşebilir! Önce iki dakika düşün derim; otomasyon her yerde cillop demek bazen ters tepebilir 😉
Zaman Kazandıran Pratik İpuçları & Sonuçlarım
- Main branch’inizde .devcontainer/devcontainer.json’u mutlaka güncel tutun—yoksa ekibe masal anlatırsınız onboarding’de… 🙂
- Denerken container rebuild yaptığınızda local cache’i silerek test edin — eski image’taki bug’lardan sürpriz gol yemeyin!
- Takım onboarding dökümanlarından gereksiz “azd extension install” kısmını sonsuza dek sildirip gururlanın 😂
- Kullandığınız özel ekstension varsa sürüme dikkat edin mesela — production’da büyük vaka çıkarabiliyor kimi durumlarda!

Tamam laf bitsin 🙂
Daha Fazlasını Merak Edenlere…
Dikkatinizi çektiyse daha öğrenilecek tonla şey var Azure Developer CLI dünyasında.
- Terminalde JSON Sihirbazlığı – Azure Developer CLI’de JMESPath ile zihin açıcı yöntemler!
- Azure App Service Slot Deployments Artık azd ile Çocuk Oyuncağı mı gerçekten? Taktikler & Gerçek Deneyimler burada…
Doğrusu, Sözün özü neymiş onu da bağlayayım… Dev container’ın içinde otomatik azd extension kurulumu hayat kurtarıyor gerçek anlamda;
onboardinge yeni girene “illa en baştan hata yap!” demek zorunda kalmıyorsunuz nihayet 😊
Deneyenlerden aldığım geri bildirim pozitif,
ama hâlâ pratikte herkes kendine göre hâl çaresini uyarlasa fena olmaz bence!
Test edin — sonra bana hak verirsiniz belki.
Kaynak: Auto-install `azd` extensions in dev containers (MS Azure SDK Blog)
İçeriği paylaş:
Yorum gönder