Öğretici: Visual Studio kullanarak Azure Container Apps'e dağıtma
Azure Container Apps sunucusuz bir platformda mikro hizmetler ve kapsayıcılı uygulamalar çalıştırmanıza olanak tanır. Container Apps ile bulut altyapısını ve karmaşık kapsayıcı düzenleyicilerini el ile yapılandırma endişelerini geride bırakırken kapsayıcıları çalıştırmanın avantajlarından yararlanırsınız.
Bu öğreticide Visual Studio kullanarak Azure Container Apps'e kapsayıcılı ASP.NET Core 8.0 uygulaması dağıtacaksınız. Aşağıdaki adımlar ASP.NET Core'un önceki sürümleri için de geçerlidir.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı gereklidir. Henüz bir hesabınız yoksa ücretsiz olarak bir hesap oluşturabilirsiniz.
- Visual Studio 2022 sürüm 17.2 veya üzeri, ücretsiz indirme olarak kullanılabilir.
Proje oluşturma
Kapsayıcılı ASP.NET Core uygulamasını oluşturarak başlayın.
Visual Studio'da Dosya'yı ve ardından Yeni => Proje'yi seçin.
İletişim kutusunda ASP.NET için arama yapın ve ardından Core Web App'ASP.NET seçin ve İleri'yi seçin.
Proje Adı alanında uygulamayı MyContainerApp olarak adlandırın ve İleri'yi seçin.
Ek Bilgi ekranında Docker'ı Etkinleştir'i seçtiğinizden emin olun ve docker işletim sistemi ayarı için Linux'un seçili olduğundan emin olun. Azure Container Apps şu anda Windows kapsayıcılarını desteklemez. Bu seçim, proje şablonunun varsayılan olarak kapsayıcıya alma işlemini desteklemesini sağlar. Proje etkinken, çalışırken veya oluştururken bir kapsayıcı kullanır.
Oluştur'a tıklayın; Visual Studio projeyi oluşturur ve yükler.
Azure Container Apps'e dağıtma
Proje şablonunda Docker'ın Etkinleştir ayarının seçili olması nedeniyle uygulama bir Dockerfile içerir. Visual Studio, Azure Container Apps'in çalıştırdığını kapsayıcı görüntüsünü oluşturmak için Dockerfile'ı kullanır.
Bu işlemin ayrıntıları hakkında daha fazla bilgi edinmek istiyorsanız Visual Studio'nun kapsayıcılı uygulamaları nasıl derlediğini öğrenin.
Artık uygulamaya Azure Container Apps'e dağıtmaya hazırsınız.
Kaynakları oluşturma
Visual Studio'daki yayımla iletişim kutusu pencereleri, mevcut Azure kaynaklarını seçmenize yardımcı olur veya dağıtım için yeni kaynaklar oluşturmanıza olanak sağlar. Bu işlem ayrıca kapsayıcı görüntüsünü oluşturur, görüntüyü Azure Container Registry'ye (ACR) gönderir ve yeni kapsayıcı uygulaması görüntüsünü dağıtır.
MyContainerApp proje düğümüne sağ tıklayın ve Yayımla'yı seçin.
İletişim kutusunda yayımlama seçenekleri listesinden Azure'ı ve ardından İleri'yi seçin.
Belirli hedef ekranında Azure Container Apps (Linux) öğesini ve ardından yeniden İleri'yi seçin.
Ardından, projeyi barındırmak için bir Azure Container App oluşturun. Sağ taraftaki yeşil artı simgesini seçerek Yeni oluştur iletişim kutusunu açın. Yeni oluştur iletişim kutusunda aşağıdaki değerleri girin:
- Kapsayıcı Uygulaması adı: adını
msdocscontainerapp
girin. - Abonelik adı: Uygulamanızı barındırmak istediğiniz aboneliği seçin.
- Kaynak grubu: Kaynak grubu, Azure'daki ilgili kaynakları düzenlemek için mantıksal kapsayıcı görevi görür. Mevcut bir kaynak grubunu seçebilir veya Yeni'yi seçerek seçtiğiniz bir adla (örneğin
msdocscontainerapps
) bir kaynak grubu oluşturabilirsiniz. - Container Apps Ortamı: Container Apps Ortamı: Her kapsayıcı uygulaması bir kapsayıcı uygulaması ortamının parçası olmalıdır. Ortam, bir veya daha fazla kapsayıcı uygulaması için yalıtılmış bir ağ sağlayarak birbirlerini kolayca çağırmalarını sağlar. Kapsayıcı uygulaması ortamınız için Yeni oluştur iletişim kutusunu açmak için Yeni'ye tıklayın. Varsayılan değerleri bırakın ve Ortam iletişim kutusunu kapatmak için Tamam'ı seçin.
- Kapsayıcı Adı: Bu, bu kapsayıcı uygulaması için çalışan kapsayıcının kolay adıdır. Bu hızlı başlangıç için adı
msdocscontainer1
kullanın. Kapsayıcı uygulaması genellikle tek bir kapsayıcı çalıştırır, ancak birden fazla kapsayıcıya ihtiyaç duyulduğu zamanlar vardır. Bu tür örneklerden biri, özel günlüğe kaydetme veya iletişim gibi bir etkinlik gerçekleştirmek için sepet kapsayıcısı gerektiği durumlardır.
- Kapsayıcı Uygulaması adı: adını
Oluşturma işlemini veya kapsayıcı uygulamanızı sonlandırmak için Oluştur'u seçin. Visual Studio ve Azure sizin yerinize gerekli kaynakları oluşturur. Bu işlem birkaç dakika sürebilir, bu nedenle devam etmeden önce tamamlanmasına izin verin.
Kaynaklar oluşturulduktan sonra İleri'yi seçin.
Kayıt Defteri ekranında, varsa mevcut bir Kayıt Defteri'ni seçebilir veya yeni bir kayıt defteri oluşturabilirsiniz. Yeni bir tane oluşturmak için sağ taraftaki yeşil + simgeye tıklayın. Yeni kayıt defteri oluştur ekranında aşağıdaki değerleri doldurun:
- DNS ön eki: Seçtiğiniz değeri
msdocscontainerregistry
veya adı girin. - Abonelik Adı: Kullanmak istediğiniz aboneliği seçin. Yalnızca birini seçebilirsiniz.
- Kaynak Grubu: Daha önce oluşturduğunuz msdocs kaynak grubunu seçin.
- Sku: Standart'ı seçin.
- Kayıt Defteri Konumu: Coğrafi olarak size yakın bir bölge seçin.
- DNS ön eki: Seçtiğiniz değeri
Bu değerleri doldurduktan sonra Oluştur'u seçin. Visual Studio ve Azure'ın kayıt defterini oluşturması biraz zaman alır.
Kapsayıcı kayıt defteri oluşturulduktan sonra, seçili olduğundan emin olun ve son'u seçin. Visual Studio'da yayımlama profilinin oluşturulması biraz zaman alır. Bu yayımlama profili, Visual Studio'da seçtiğiniz yayımlama seçeneklerini ve kaynaklarını depolar, böylece istediğiniz zaman hızla yeniden yayımlayabilirsiniz. İletişim kutusu tamamlandıktan sonra kapatabilirsiniz.
Visual Studio kullanarak uygulamayı yayımlama
Kaynaklar ve yayımlama profili oluşturulurken, yine de uygulamayı yayımlamanız ve Azure'a dağıtmanız gerekir.
Azure'da oluşturduğunuz kapsayıcı uygulamasına dağıtmak için yayımlama profili ekranının sağ üst kısmındaki Yayımla'yı seçin. Bu işlem biraz zaman alabilir, bu nedenle tamamlanmasını bekleyin.
Uygulamanın dağıtımı tamamlandığında Visual Studio, dağıtılan sitenizin URL'sinin tarayıcısını açar. Tüm uygun kaynaklar sağlamayı tamamlamazsa bu sayfa başlangıçta bir hata görüntüleyebilir. Dağıtımın tam olarak tamamlayıp tamamlanmadiğini denetlemek için tarayıcıyı düzenli aralıklarla yenilemeye devam edebilirsiniz.
GitHub Actions kullanarak uygulamayı yayımlama
Container Apps, GitHub Actions aracılığıyla CI/CD kullanılarak da dağıtılabilir. GitHub Actions, geliştirme iş akışlarını doğrudan projenizin GitHub deposu aracılığıyla otomatikleştirmek, özelleştirmek ve yürütmek için güçlü bir araçtır.
Visual Studio yayımladığınız projenin GitHub'da barındırılıyor olduğunu algılarsa yayımlama akışı ek bir Dağıtım türü adımı sunar. Bu aşama, geliştiricilerin hızlı başlangıçta daha önce gösterilen adımları kullanarak doğrudan Visual Studio aracılığıyla mı yoksa GitHub Actions iş akışı aracılığıyla mı yayımlayacaklarını seçmesine olanak tanır.
GitHub Actions iş akışını seçerseniz Visual Studio, projenin kök dizinine bir .github klasörü ve içinde oluşturulan bir YAML dosyası oluşturur. YAML dosyası, kodunuzu her gönderişinizde uygulamanızı derlemek ve Azure'a dağıtmak için GitHub Actions yapılandırmalarını içerir.
Bir değişiklik yaptıktan ve kodunuzu gönderdikten sonra GitHub'da Eylemler sekmesinin altında derleme ve dağıtma işleminin ilerleme durumunu görebilirsiniz. Bu sayfada, iş akışının ilerleme durumu ve durumuyla ilgili ayrıntılı günlükler ve göstergeler sağlanır.
derleme ve dağıtma işlerinin yanında yeşil bir onay işareti gördüğünüzde iş akışı tamamlanır. Container Apps sitenize göz atarken en son değişikliklerin uygulandığını görmeniz gerekir. Azure portal sayfasını kullanarak kapsayıcı uygulamanızın URL'sini her zaman bulabilirsiniz.
Kaynakları temizleme
Bu uygulamayı artık kullanmayı planlamezseniz, kaynak grubunu kaldırarak Azure Container Apps örneğini ve ilişkili tüm hizmetleri silebilirsiniz.
Oluşturduğunuz kaynakları kaldırmak için Azure portalında şu adımları izleyin:
- Genel Bakış bölümünden msdocscontainerapps kaynak grubunu seçin.
- Kaynak grubuna Genel Bakış'ın üst kısmındaki Kaynak grubunu sil düğmesini seçin.
- "My-container-apps" onay iletişim kutusunu silmek istediğinizden emin misiniz? bölümüne msdocscontainerapps kaynak grubu adını girin.
- Sil'i seçin.
Kaynak grubunu silme işleminin tamamlanması birkaç dakika sürebilir.
İpucu
Sorun mu yaşıyorsunuz? Azure Container Apps deposunda bir sorun açarak GitHub'da bize bildirin.