.NET Core Dockerize Edilen Uygulamayı Azure DevOps ile Azure WebApp Servisine Deploy Edin

Merhaba, bu makalemde sizlere dockerize edilen bir .net core uygulamasının Azure DevOps ile nasıl deploy edileceğini göstermeye çalışacağım.
Hemen başlayalım
Bir önceki makalemde .net core uygulaması oluşturma ve dockerize etmekten bahsetmiştim buradan ulaşabilirsiniz. https://medium.com/@ertugrulkablan/net-core-web-uygulaman%C4%B1z%C4%B1-dockerize-edin-cf8fb1945bca
Yapılacakları maddeleyelim
.NET Core web uygulaması oluşturulacak
Web uygulamasının çalıştığını kontrol edilecek
Bu web uygulamasından bir Docker image oluşturulacak
Image depolamak için bir Azure Container Registry oluşturulacak
Docker image Azure DevOps ile CI / CD aracılığıyla Azure WebApp Servisine deploy edilecek
Not : Docker image oluşturmadan önce, Windows 10 üzerinde çalışıyorsanız Switch to Linux yapmalısınız.
Buradan nasıl yapılacağına bakabilirsiniz : Switch to Linux containers
Azure Portaldan Cloud Shell kullanarak Azure Container Registry (ACR) oluşturma
Docker image oluşturulduğuna göre, Docker imageleri barındırmak için bir alana ihtiyacımız var. ACR (Azure Container Registry) Docker image depolamada kullanacağımız argümandır.
Azure Portaldan Cloud Shell açın ve ACR oluşturmak için aşağıdaki komutu çalıştırın.
az acr create -g your_resource_group -n name_of_acr — sku basic
Image Registry oluşturulduğuna göre terminalden login olup bağlantıyı sağlayalım
docker login youracrname.azurecr.io — username
“
tetris”
— password“
y=yourpassword”
Oluşturmuş olduğumuz imagelerimizi ACR depomuza göndermek için aşağıdaki komutları çalıştırın
docker build -t youracrname.azurecr.io/webapp:latest .
docker push youracrname.azurecr.io/webapp:latest
Azure DevOps ile Web Uygulamasını Deploy Etme
Create Pipeline diyoruz

Pipelinenımızı konfigüre edelim ve steplere aşağıdaki argümanı ekleyelim

Pipelinenımızın YAML dosyasınız aşağıdaki gibi kendinize göre düzenleyin
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'your_sub_name'
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
param(
[string]$RG = your_resource_group,
[string]$appPlanName = your_app_plan_name,
[string]$appName = your_web_app_name
)
az appservice plan create -g $RG -n $appPlanName --sku B1 --is-linux
az webapp create -g $RG -p $appPlanName -n $appName -i docker_image_registry_path_in_acr
Pipelinımızı çalıştırdıktan sonra şöyle bir çıktı alacaksınız

Bu çıktıyı almış iseniz herşey yolunda ozaman Azure Portaldan WebApp Servisine gidin burada oluşturulmuş uygulamayı göreceksiniz


Umarım faydalı olur şimdilik hoşça kalın…