Azure Developer CLI 1.37: deploy –preview ve env unset

Azure Developer CLI 1.37 ile azd deploy --preview dağıtım yapmadan hedefi incelemeyi sağlıyor. Ayrıca azd env unset saklanan ortam anahtarlarını kaldırıyor; uzantı API’leri stable v1’e taşınıyor ve environment/state Go API’lerinde kırıcı değişiklik var.

Ekim 2026 döneminde Azure Developer CLI (azd) için altı sürüm yayımlandı: 1.35.0, 1.35.1, 1.36.0, 1.37.0, 1.37.1 ve 1.37.2. Sürüm notlarındaki değişiklikler birkaç başlıkta toplanıyor: dağıtım öncesi önizleme, Container Apps express desteği, ortam değişkeni temizliği, uzantı API’lerinin stable v1’e taşınması ve dikkat edilmesi gereken bir kırıcı değişiklik. Bunlarla birlikte bir servisi dağıtmadan önce hangi Azure hedefine gideceğini görebiliyor, saklanmış ortam değerlerini tek komutla kaldırabiliyor, uzantı tabanlı altyapı sağlayıcılarını pipeline üretimine dahil edebiliyorsunuz.

Dağıtım öncesi önizleme: azd deploy –preview

Yeni --preview bayrağı, dağıtım işlemlerini gerçekleştirmeden incelemenizi sağlıyor:

azd deploy --preview

Önizleme; App Service, Container Apps, Functions, Static Web Apps, Azure Kubernetes Service ve AI endpoint hedeflerini kapsıyor. Çıktı, çözümlenen Azure hedefini tarif ediyor, JSON çıktısında hedef ve host bilgileri yapılandırılmış biçimde geliyor. Yani CI içinde bu çıktıyı makine tarafında ayrıştırıp doğrulama adımı kurabilirsiniz. Değişiklik #10204 numaralı PR ile geldi.

Container Apps express ortamlarına imaj dağıtımı

Mevcut host: containerapp tanımıyla Azure Container Apps express ortamlarına imaj dağıtabiliyorsunuz. azd, ortamın express modunda olduğunu algılıyor ve özel bir revision suffix ya da trafik ağırlığı ayarlamadan imajı güncelliyor. Express modu birden fazla revision ve trafik bölmeyi desteklemediği için burada imaj tabanlı dağıtım stratejisi kullanılmalı. Ayrıntı için #10223.

Ortam yönetimi ve pipeline üretimi

Beta durumundaki azd env unset komutu, saklanmış ortam anahtarlarını kaldırmak için geldi. Davranışı net sınırlarla tanımlanmış:

  • Anahtar eşleşmesi tam ve büyük/küçük harfe duyarlı.
  • Komut onay istiyor; AZURE_ENV_NAME değerini koruyor.
  • Diğer ortamlar ve süreç değişkenleri etkilenmiyor.
  • Etkileşimsiz (non-interactive) silme için --force gerekiyor.

Örnek kullanım, kaynakta verildiği şekliyle:

azd env unset OLD_API_URL OLD_FEATURE_FLAG --environment dev

Komutun geliş PR’ı #10362.

Pipeline tarafında ise azd pipeline config artık uzantı tanımlı altyapı sağlayıcılarıyla çalışıyor. Üretilen GitHub Actions ve Azure Pipelines tanımları, gereken uzantıları kuracak adımları içeriyor (#9878). Özel sağlayıcı kullanan ekipler böylece pipeline’a elle uzantı kurulum adımı eklemekten kurtuluyor.

Uzantı API’leri: beta’dan stable v1’e

Uzantılar, azd‘ye komut ekleyen ve proje/dağıtım akışlarına bağlanan bileşenler. Bu dönemdeki değişiklikler uzantı yazarlarına daha kararlı sözleşmeler ve komut çıktısı üzerinde daha fazla kontrol veriyor:

  • Salt okunur servis hedefi dağıtım önizlemesi: Uzantı SDK’sı üzerinden kurulabiliyor. İlgili sözleşmeler ve SDK API’leri 1.37.0 ile stable v1’e yükseldi, mevcut beta rotaları ve kaynaklar uyumlu kalmaya devam ediyor. İlk SDK desteği @Siglud katkısıyla geldi (#10055, #10628).
  • Telemetri ve Azure principal sorgusu: Uzantı kullanım telemetrisi ve güncel Azure principal araması için stable v1 API’leri kullanılabiliyor; beta rotaları hala erişilebilir (#10439).
  • Proje servisi kaydetme yetenekleri: Preview API’lerle keşfedilebiliyor, tamamlanan servis eklemeleri tipli onaylarla (typed acknowledgment) doğrulanıyor (#10334).
  • predeploy/postdeploy mesajları: Uzantı servis handler’ları yapılandırılmış bilgi ve uyarı mesajları döndürebiliyor. azd deploy ve azd up, başarısız dağıtımlar dahil olmak üzere bu mesajları terminal ve JSON sonuçlarına ekliyor. Bu API yalnızca beta (#9950).
  • Komut sonrası yönlendirme: Çekirdek komutların başarılı tamamlanma mesajlarına, preview API ile takip eden rehberlik metni eklenebiliyor. Bu metin handler’lar bittikten sonra görünüyor ve JSON çıktısını değiştirmiyor (#9794).
  • launch.noAzdEnvironment: Tek tek uzantı komutları bu işaretle, seçili azd ortamını yüklemeyi ve Key Vault referanslarını çözmeyi atlayabiliyor. Devralınan süreç değişkenleri ile açık environment API çağrıları değişmiyor (#10479).

Kırıcı değişiklik: environment ve state Go API’leri

Yükseltmeden önce bakılması gereken tek madde bu. Dışa açık environment ve state path API’leri artık hata dönduruyor. Yapılması gerekenler:

  • Özel implementasyonları ve mock’ları güncelleyin.
  • Dönen path’leri kullanmadan önce hatayı kontrol edip yukarı taşıyın.
  • state.NewStateCacheManager fonksiyonuna environment dizini string’i yerine *azdcontext.AzdContext geçirin.
  • Context’i projenin .azure dizininden değil, proje dizininden oluşturun.

Amaç, path doğrulama hatalarının sessizce geçmesi yerine açıkça yüzeye çıkması. Etkilenen imzaların listesi için kaynak yazıdaki environment-state API geçiş kılavuzuna bakmanız gerekiyor.

Hata düzeltmeleri

Düzeltme listesi uzun; başlıklara göre ayırmak daha okunur oluyor.

Uzantı kurulumu ve çalıştırma

  • Yükseltme başarısız olduğunda veya iptal edildiğinde, önceki kurulu uzantının dosyaları ve meta verileri geri yükleniyor (#10315).
  • Ctrl+C iptali artık uzantı süreçleri, RPC çağrıları ve uzantı başlatmalı iş akışları boyunca yayılıyor; iptal ve zaman aşımı durumları genel hata yerine ayrı ayrı raporlanıyor (#10353).
  • Etkileşimsiz kurulumda açık sürüm sabitlemesi onaysız uygulanamıyorsa hata dönüyor; dosya tabanlı uzantı kaynakları çalışma dizini değişse de erişilebilir kalıyor. Aynı PR’da Foundry SDK’da seçili dosya doğrulaması iyileştirildi (#10181).
  • İç içe dependency injection scope’ları oluşturulurken üst ve kardeş kayıtlar korunuyor; kurulum tanılamalarında seçili çıktı biçimine uyuluyor (#10254).
  • Doğrudan çağrılan uzantı komutlarının çıkış kodları korunuyor (#10282).
  • Çıktı bir terminal değilse, kurulum ve güncellemelerde değişmeyen ilerleme satırları tekrar tekrar yazılmıyor (#10280).
  • Uzantı namespace’i için --docs istendiğinde doğru dokümantasyon açılıyor (#10304).
  • Üst/alt alias ve global bayrak kullanan komutlarda uzantı komut meta verisi, kanonik yollar ve bayraklar doğru çözümleniyor; uzantı seçim istemleri stderr’de kalarak JSON çıktısına karışmıyor (#10479).

Proje yapılandırması ve ortamlar

  • Uzantı servis düzenlemelerinde azure.yaml içindeki ilgisiz ayarlar korunuyor; boş mapping’ler, büyük tam sayılar ve ortam şablonları dahil (#10479).
  • Uzantı servis ekleme işlemi başarısız olursa bellekteki proje yapılandırması geri yükleniyor (#10334).
  • Önceki bir arama proje bulamadıysa, proje başlatıldıktan sonra ortam erişimi yeniden sağlanıyor (#10294).
  • Ortam yapılandırma güncellemeleri güvenilir biçimde tamamlanıyor; görev listesi render’ındaki bir yarış durumu giderildi (#10191).
  • Yeniden oturum açma sırasında önbellek temizliğinde eskimiş kimlik doğrulama kayıtları siliniyor (#10317).

Dağıtım ve geliştirici akışları

  • Provisioning uyarıları, hangi scope izinlerinin kontrol edildiği konusunda netleşti. Kritik uyarılar varsayılan olarak “No” geliyor ve açık onay istiyor; --no-prompt ya da yanıtlanmayan kritik onaylar hata dönduruyor. İptal durumunda post-provision hook’ları atlanıyor, ancak paralel katmanlardaki hatalar gizlenmiyor. Katkı: @hyoshis (#10396).
  • deployment.stacks alpha özelliği açıkken, Deployment Stacks deny-list değerlerine gömülü çözümlenmemiş veya boş ortam değişkenleri Azure’a gönderilmeden önce doğrulanıyor. Katkı: @saikeerthan-14 (#10516).
  • Dağıtım zaman aşımları artık atlanmış adım gibi görünmüyor veya alttaki hatalarla gölgelenmiyor (#10157).
  • İptal edilen dağıtım ilerleme güncellemeleri ve kapanan ilerleme kanalları, takılma ya da beklenmedik durma olmadan işleniyor (#10304).
  • azd exec --shell, boşluksuz operatör, atama veya genişletme içeren satır içi shell ifadelerini kabul ediyor; path argümanı içeren satır içi komutlar artık “eksik script dosyası” sanılmıyor. Katkı: @jongio (#10376, #10375).
  • Dosya izleme kaydı ve kapanışında dosya değişiklikleri korunuyor, eskimiş kayıtlar temizleniyor (#10300).
  • Prompt ipucu tuşları devre dışıyken soru işareti ipucu gösterilmiyor (#10445).

Bağımlılık güncellemeleri

Çekirdek ve birinci taraf uzantılarda Go bağımlılıkları güncellendi; bunlar arasında gRPC v1.84.0 ve OpenTelemetry v1.47.0 var (#10572). Ayrıca paketlenmiş GitHub CLI v2.102.0 (#10456), Microsoft Authentication Library for Go v1.10.1 (#10251) ve paketlenmiş Bicep CLI v0.48.1 (#10322) sürümlerine geçildi. Kaynak notlarda bu sürümlerin güvenlik iyileştirmeleri içerdiği ve yükseltmenin önerildiği belirtiliyor.

Dokümantasyon ve yeni şablonlar

Microsoft Learn tarafında iki içerik güncellendi. Container Apps’e Azure Developer CLI ile dağıtım rehberi (30 Eylül), ortam modu, servis etiketleri ve desteklenen dağıtım stratejisi dahil imaj tabanlı dağıtımı anlatıyor. azd komut referansı ise (27 Ekim) azd deploy --preview, uzantı yönetimi seçenekleri ve etkileşimsiz azd env unset için --force gerekliliğini kapsayacak şekilde güncellendi.

Topluluk şablonları tarafında iki yeni örnek öne çıkıyor:

  • Text Semantic Search (Massimo Bonanni): Microsoft Foundry ile metin embedding’leri üretip bunları pgvector ile Azure Database for PostgreSQL’de saklayan ve semantik benzer metin arayan bir.NET uygulaması. Bicep ile Blazor Server ön yüzü ve Azure Functions API sağlıyor.
  • LangChain AG-UI Chat (Jay Chase): Angular (@copilotkit/angular) ön yüzünü AG-UI protokolü ve @ag-ui/langgraph üzerinden Hono API’si ile LangGraph Server’a bağlayan, generative UI bileşenleri içeren akışlı bir yapay zeka sohbet uygulaması. Azure Container Apps üzerinde tamamen self-hosted dağıtımı gösteriyor.

Kimler için anlamlı?

azd, uygulamanızı yerel geliştirme ortamından Azure’a taşımayı hızlandıran açık kaynak bir komut satırı aracı. Komutları; terminalde, editörde veya CI/CD içinde çalışırken iş akışının temel aşamalarına karşılık geliyor. Bu dönemde dağıtım öncesi doğrulama yapmak isteyen ekipler için --preview, ortam hijyeni için env unset, özel sağlayıcı kullananlar için pipeline uzantı kurulumu, uzantı yazarları için de stable v1 sözleşmeleri öne çıkıyor. Go API’lerini doğrudan kullanan bir uzantınız varsa yükseltmeden önce kırıcı değişiklik bölümünü atlamayın.

Kaynaklar ve İleri Okuma

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Ç

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

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

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

Haftalık Bülten

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

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

✉

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
Kategoriler
Ara
Paylaş
WhatsApp
İçindekiler
← Azure SQL Hyperscale Gerçekten...
→
📩

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.