0

App Services yazımızın bir önceki bölümünde Visual Studio 2017 ile uygulamamızı publish etmiştik. Cloud Explorer’ı refresh ederek publish ettiğimiz uygulamayı buradan görebiliriz. App Service’i seçtiğimiz zaman altında bununla ilgili Resim-1‘de göreceğiniz seçeneklerle karşılaşıyoruz. Burada uygulama ile ilgili birçok seçenek var. Benim ilk gözüme çarpan kısım ise “Attach Debugger”.


Resim-1: App Service Actions

Azure üzerindeki uygulamayı debug edebilmenin heyecanı ile hemen Attach Debugger’a tıklıyorum ancak karşıma Resim-2‘da göreceğiniz uyarı çıkıyor. Publish ederken normal olarak release mod kullandığımız için öyle istediğimiz gibi debug edemeyeceğimizi söylüyor.


Resim-2: Debug build Uyarısı

Debug edebilmek için debug modda derleyip tekrar publish edeceğim. Project üzerinden Publish ayarlarını girdiğimde ilk olarak Resim-3‘da göreceğiniz Connection Options ekranı çıkıyor. Burada uygulamamızla ilgili daha önce tanımladığımız App Service’in nasıl yansıdığını görebilirsiniz.


Resim-3: Publish Connection

Publish Settings’e gelerek Configuration değerini Debug olarak değiştiriyorum.


Resim-4: Publish Settings

Debug moda çektim artık deploy edebilirim derken Resim-5‘de detaylarını görebileceğiniz “Web deployment task failed” hatası alıyorum. Bu durumda uygulamayı Resim-1‘de göreceğiniz Actions’dan Stop butonu ile durdurup tekrar publish etmem ve sonra da yine buradaki Start ile tekrar başlatmam gerekecek.


Resim-5: Web deployment task failed hatası

Publish sonrasında uygulamayı başlattıktan sonra, Attach to Debugger ile uygulamaya başarıyla attach olabilirim. Resim-6‘te göreceğiniz gibi App Service’de çalışan uygulama üzerinden About’a tıklayarak, HomeController içerisine koyduğum breakpoint’e düşebiliyorum.


Resim-6: Azure App Service Debug

Buraya kadar herşey güzel, ancak her debug ihtiyacında uygulamayı debug modde derleyip, kapatıp tekrar publish etmek vb işlemler çok da mantıklı değil. Bu durumdan kurtulmak için App Services’ın Deployment Slots özelliğinden faydalanacağız. Azure Portal üzerinden App Service menüsü üzerinde yer alan Deployment slots’a gelerek, yeni bir slot ekleyelim ve ismini de mshowtocorewebapp-debug olarak verelim.


Resim-7: Deployment Slots

Daha sonra ise uygulamamızı daha önceki şekilde yeni bir publish profile ekleyerek debug slot’una publish edecek şekilde ayarlayalım.


Resim-8: Debug Publish Profile

Bu şekilde debug/release mod derdinden kurtulduk, ancak uygulamayı durdurma ve tekrar publish etme ihtiyacı hala production için geçerli. Bu durumda daha etkili bir çözüm olarak deployment slot’lara bir de PreProd ekliyorum. Bu slot’a da release modda publish edeceğim.


Resim-9 Cloud Explorer: Deployment Slots

Deployment slots swap özelliğini kullanarak uygulamamızı durdurmadan PreProd üzerinden production ortamına taşıma yapabiliyoruz. Swap işlemi aslında Azure’un bir slota gelen trafiği gelen requestlerin kaybolmasını engelleyerek diğer slot’a yönlendirmesi. Swap anında request’ler hem eski hem de yeni versiyona gidebiliyor, ama hiç bir kullanıcının service unavailable hatası almamasını da sağlanmış oluyor.

Ne kadar slot hakkımız olduğu ise seçtiğimiz App Service Tier’a göre değişiyor. Bu nedenle tier seçiminizde slot ihtiyaçlarınızı da düşünmek gerekiyor. Development, Test, UAT, PreProd gibi ihtiyaçlarınız için bu özelliği rahatlıkla kullanabilirsiniz.


Resim-10: Swap

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: Azure, Azure Portal, ASP.NET, ASP.NET MVC, Web App, App Services, Resource Group, Visual Studio, Visual Studio 2017, Cloud Explorer, ASP.NET Core, Deployment Slots, Swap, Debugger, Yazılım Geliştiricileri için Azure

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

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