İlk bölümde mevcut bir projeye .NET Aspire’ın nasıl ekleneyeceğinden bahsetmiştim. Bu bölümde de Azure Developer CLI (azd) kullanarak .NET Aspire ile nasıl deployment yapabileceğimizi bir örnek üzerinden anlatacağım. Bilgisayarınızda Azure Developer CLI kurulu değilse buradan kurulum yapabilirsiniz.
İlk olarak Azure Developer CLI ‘ı initialize etmem gerekiyor. Bunun için azd init komutunu kaynak kodlarımın olduğu klasörde çalıştırıyorum. Burada bana mevcut klasördeki kodları mı yoksa bir template mi kullanmak istediğimi soruyor. İlk seçecek mevcut kodları kullanmak istediğimi belirtiyorum.
Resim-1
Aspire.AppHost projesini bulduktan sonra bana Azure Container Apps üzerinde uygulamamı host etmek için gerekli dosyaları üreteceğini ve onaylayıp onaylamadığımı soruyor.
Resim-2
Onay işlemi sonrasında hangi projenin internete açık olacağını (tahmin ettiğiniz gibi frontend) seçiyorum.
Resim-3
Son olarak da bana environment ismi vermemi istiyor, yine tahmin edeceğiniz üzere dev ismini veriyorum.
Resim-4
Uygulamayı Azure üzerinde çalıştırabilmek için dosyaları oluşturma işlemi bittikten sonra Resim-5‘te göreceğiniz gibi Your app is ready for the cloud mesajı göreceksiniz.
Resim-5
Burada 2 tane dosya oluştuğunu da farketmişsinizdir: azure.yaml (içeriğini Resim-6’da görebilirsiniz) ve next-steps.md. Ek olarak, Resim-6‘da da sol tarafta da göreceğiniz gibi .azure adında bir klasör oluşturulduğunu görüyorum. İçerisinde:
dev (verdiğim environment name) adında bir klasör ve altında
- .env adında environment değişkenlerini içeren bir dosya,
- config.json adında exposedServices konfigürasyonunu içeren bir dosya daha var.
config.json adındaki diğer dosyada ise defaultEnvironment konfigürasyonunu yer alıyor.
Resim-6
Deployment öncesinde eğer henüz olmadıysanız ilk olarak azd’ye login olmanız gerekiyor. Bunun için azd auth login komutunu çalıştırdıktan sonra varsayılan tarayıcı üzerinden Azure’a login olmanızı isteyecek. Bu işlem sonrasında Logged in to Azure mesajını göreceksiniz. Sonrasında da deployment işlemini başlatmak için azd up komutunu çalıştırabilirsiniz. Burada eğer birden fazla subscription varsa hangisini kullanmak istediğinizi soracak.
Resim-7
Subscription seçimi sonrasında da deployment için hangi location’ı tercih ettiğinizi soracak.
Resim-8
Sorular bu kadar, artık bicep dosyalarının oluşturulması ve deployment’ın tamamlanmasını beklemek kalıyor. Terminal üzerinden bütün detayları takip edebildiğiniz gibi, verilen link ile de Azure Portal üzerinden de takip edebilirsiniz.
Resim-9
Deployment işlemi bittikten sonra oluşturulan resource group içerisinde hangi resource’lar var bakalım:
- Frontend ve backend için 2 adet container app,
- Container’ları saklamak için bir container registry,
- Container App environment,
- Log Analytics workspace
- Managed Identity
Resim-10
Son olarak da uygulamayı test etmek için frontend url’line tıkladığımda ise eShopLite uygulaması görebiliyorum.
Resim-11
Deployment ve resource’ları silmek isterseniz de komutunuz: azd down.
Resim-12
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://learn.microsoft.com/en-gb/dotnet/aspire/
TAGs: .NET, .NET 8, .NET Aspire, Cloud Native, Cloud Native Development, Development, VS Code, Visual Studio, Azure, Azure Portal, Container Apps, Containers, Docker