Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019
Not
1 Haziran 2024'den itibaren, yeni oluşturulan App Service uygulamaları adlandırma kuralını <app-name>-<random-hash>.<region>.azurewebsites.net
kullanan benzersiz bir varsayılan ana bilgisayar adı oluşturabilir. Mevcut uygulama adları değişmeden kalır. Örneğin:
myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Daha fazla bilgi için bkz . App Service Kaynağı için Benzersiz Varsayılan Ana Bilgisayar Adı.
Web uygulamanızı her başarılı derlemede Azure Uygulaması Hizmeti'ne otomatik olarak dağıtmak için Azure Pipelines'ı kullanın. Azure Pipelines, Azure DevOps kullanarak sürekli tümleştirme (CI) ve sürekli teslim (CD) ile derlemenizi, test etmenizi ve dağıtmanızı sağlar.
YAML işlem hatları, deponuzda bir YAML dosyası kullanılarak tanımlanır. Adım, işlem hattının en küçük yapı taşıdır ve betik veya görev (önceden paketlenmiş betik) olabilir. İşlem hattını oluşturan temel kavramlar ve bileşenler hakkında bilgi edinin.
İşlem hattınızdaki Azure Uygulaması Hizmeti'ne dağıtmak için Azure Web App görevini (AzureWebApp
) kullanacaksınız. Dağıtımınızda XML parametrelerini kullanmanız gerektiği gibi daha karmaşık senaryolar için Azure Uygulaması Hizmeti dağıtım görevini (AzureRmWebAppDeployment) kullanabilirsiniz.
Bu bölümdeki kod örneklerinde bir ASP.NET web uygulaması dağıttığınız varsayılır. Diğer çerçeveler için yönergeleri uyarlayabilirsiniz.
Azure Pipelines ekosistem desteği hakkında daha fazla bilgi edinin.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İşlem Hatları'na gidin ve Yeni İşlem Hattı'na tıklayın.
İstendiğinde kaynak kodunuzun konumunu seçin: Azure Repos Git veya GitHub.
Oturum açmak için GitHub'a yönlendirilebilirsiniz. Öyleyse GitHub kimlik bilgilerinizi girin.
Depo listesi görüntülendiğinde deponuzu seçin.
Azure Pipelines uygulamasını yüklemek için GitHub'a yönlendirilebilirsiniz. Öyleyse Onayla ve yükle'yi seçin.
Yapılandır sekmesi görüntülendiğinde ASP.NET Çekirdek'i seçin.
Yeni işlem hattınız görüntülendiğinde, ne yaptığını görmek için YAML'ye göz atın. Hazır olduğunuzda Kaydet ve çalıştır'ı seçin.
YAML dosyasının sonuna tıklayın ve ardından Yardımcıyı göster'i seçin.
Azure Web App görevini eklemek için Görev yardımcısını kullanın.
Alternatif olarak, Azure Uygulaması Hizmeti dağıtma (AzureRmWebAppDeployment) görevini ekleyebilirsiniz.
Azure aboneliğinizi seçin. Bağlantınızı yetkilendirmeyi unutmayın. Yetkilendirme gerekli hizmet bağlantısını oluşturur.
App Service uygulamanızı temel alan Uygulama türü, Uygulama adı ve Çalışma Zamanı yığınını seçin. Tüm YAML'niz aşağıdaki koda benzer görünmelidir.
variables:
buildConfiguration: 'Release'
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
publishWebProjects: true
- task: AzureWebApp@1
inputs:
azureSubscription: '<service-connection-name>'
appType: 'webAppLinux'
appName: '<app-name>'
package: '$(System.DefaultWorkingDirectory)/**/*.zip'
.zip bir web paketini (örneğin, bir ASP.NET web uygulamasından) Azure Web App'e dağıtmak için aşağıdaki kod parçacığını kullanarak derlemeyi bir uygulamaya dağıtın.
variables:
buildConfiguration: 'Release'
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
publishWebProjects: true
- task: AzureWebApp@1
inputs:
azureSubscription: '<service-connection-name>'
appType: 'webAppLinux'
appName: '<app-name>'
package: '$(System.DefaultWorkingDirectory)/**/*.zip'
Varsayılan olarak, dağıtımınız Azure Web App'teki kök uygulamaya gerçekleşir. Azure Uygulaması Hizmeti dağıtma (AzureRmWebAppDeployment
) görevinin VirtualApplication
özelliğini kullanarak belirli bir sanal uygulamaya dağıtabilirsiniz:
- task: AzureRmWebAppDeployment@4
inputs:
VirtualApplication: '<name of virtual application>'
Aşağıdaki örnekte hazırlama yuvasına dağıtma ve ardından üretim yuvasıyla değiştirme işlemi gösterilmektedir:
- task: AzureWebApp@1
inputs:
azureSubscription: '<service-connection-name>'
appType: webAppLinux
appName: '<app-name>'
deployToSlotOrASE: true
resourceGroupName: '<name of resource group>'
slotName: staging
package: '$(Build.ArtifactStagingDirectory)/**/*.zip'
- task: AzureAppServiceManage@0
inputs:
azureSubscription: '<service-connection-name>'
appType: webAppLinux
WebAppName: '<app-name>'
ResourceGroupName: '<name of resource group>'
SourceSlot: staging
SwapWithProduction: true
webAppLinux
.deployToSlotOrASE
gereklidir.production
adıdır. True ise deployToSlotOrASE
gereklidir.SwapWithProduction
üretime gönderilen yuva.Dağıtım işlem hattı ayarlamak için YAML dosyanızdaki işleri kullanabilirsiniz. İşleri kullanarak birden çok web uygulamasına dağıtım sırasını denetleyebilirsiniz.
jobs:
- job: buildandtest
pool:
vmImage: ubuntu-latest
steps:
# publish an artifact called drop
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
# deploy to Azure Web App staging
- task: AzureWebApp@1
inputs:
azureSubscription: '<service-connection-name>'
appType: <app type>
appName: '<staging-app-name>'
deployToSlotOrASE: true
resourceGroupName: <group-name>
slotName: 'staging'
package: '$(Build.ArtifactStagingDirectory)/**/*.zip'
- job: deploy
dependsOn: buildandtest
condition: succeeded()
pool:
vmImage: ubuntu-latest
steps:
# download the artifact drop from the previous job
- task: DownloadPipelineArtifact@2
inputs:
source: 'current'
artifact: 'drop'
path: '$(Pipeline.Workspace)'
- task: AzureWebApp@1
inputs:
azureSubscription: '<service-connection-name>'
appType: <app type>
appName: '<production-app-name>'
resourceGroupName: <group-name>
package: '$(Pipeline.Workspace)/**/*.zip'
Bunu YAML'de yapmak için aşağıdaki tekniklerden birini kullanabilirsiniz:
Aşağıdaki örnekte, yalnızca ana daldan kaynaklanan derlemeleri dağıtmak için adım koşullarının nasıl kullanılacağı gösterilmektedir:
- task: AzureWebApp@1
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
inputs:
azureSubscription: '<service-connection-name>'
appName: '<app-name>'
Koşullar hakkında daha fazla bilgi edinmek için bkz . Koşulları belirtme.
Azure Uygulaması Hizmeti dağıtma (AzureRmWebAppDeployment
) görevi Web Dağıtımı'nı kullanarak App Service'e dağıtabilir.
trigger:
- main
pool:
vmImage: windows-latest
variables:
buildConfiguration: 'Release'
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
publishWebProjects: true
arguments: '--configuration $(buildConfiguration)'
zipAfterPublish: true
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: '<service-connection-name>'
appType: 'webApp'
WebAppName: '<app-name>'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
enableCustomDeployment: true
DeploymentType: 'webDeploy'
Azure Web App görevi (AzureWebApp
), Azure Web App'e dağıtmanın en basit yoludur. Varsayılan olarak, dağıtımınız Azure Web App'teki kök uygulamaya gerçekleşir.
Azure Uygulaması Hizmet Dağıtımı görevi (AzureRmWebAppDeployment
), aşağıdakiler gibi daha fazla özel senaryoyu işleyebilir:
Not
Dosya dönüşümleri ve değişken değiştirme, Azure Pipelines'da kullanılmak üzere ayrı Dosya Dönüştürme görevi tarafından da desteklenir. Herhangi bir yapılandırma ve parametre dosyasına dosya dönüştürmeleri ve değişken değiştirmeleri uygulamak için Dosya Dönüştürme görevini kullanabilirsiniz.
YAML işlem hatlarında, işlem hattınıza bağlı olarak, derlenmiş web paketinizin kaydedildiği yer ile dağıtım görevinin aradığı yer arasında bir uyuşmazlık olabilir. Örneğin, AzureWebApp
görev dağıtım için web paketini alır. Örneğin, AzureWebApp görevi içinde $(System.DefaultWorkingDirectory)/**/*.zip
görünür. Web paketi başka bir yere yatırıldıysa değerini package
değiştirin.
Bu hata AzureRmWebAppDeployment görevinde, görevi Web Dağıtımı kullanarak dağıtılacak şekilde yapılandırdığınızda oluşur, ancak aracınız Windows çalıştırmıyor. YAML'nizde aşağıdaki koda benzer bir şey olduğunu doğrulayın:
pool:
vmImage: windows-latest
Microsoft Entra Id kimlik doğrulamasının AzureRmWebAppDeployment
görevle çalışmasını sağlamayla ilgili sorun giderme bilgileri için bkz. Windows aracımdan Microsoft Entra Id kimlik doğrulamasını kullanarak Azure Uygulaması Hizmetime Web Dağıtamıyorum
Ekinlikler
17 Mar 23 - 21 Mar 23
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunEğitim
Öğrenme yolu
Azure DevOps öğrenme yolu ile uygulama dağıtma - Training
Uygulamalarınızı sürekli olarak derleyen, test eden ve dağıtan yayın işlem hatlarını yapılandırmayı öğrenin.
Sertifikasyon
Microsoft Sertifikalı: Azure Geliştirici İş Ortağı - Certifications
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.
Belgeler
AzureWebApp@1 - Azure Web App v1 görevi
Linux veya Windows için Azure Web App dağıtma.
AzureRmWebAppDeployment@4 - Azure App Service dağıtım v4 görevi
Docker, Java, .NET, .NET Core, Node.js, PHP, Python veya Ruby kullanarak Azure App Service'e bir web, mobil veya API uygulaması dağıtın.
Azure Web App hizmeti dağıtımlarıyla ilgili yaygın sorunları giderme - Azure DevOps
Bu makalede, Azure DevOps Services'ten Azure Web App hizmeti dağıtımlarıyla ilgili bazı yaygın sorunlar listelenmektedir ve bu sorunları çözmek veya hatalarını ayıklamak için adımlar sağlanmaktadır.