我是使用 YAML 管道的新手,我认为我配置了一些错误。 YAML 脚本在最后。
在部署中心,我将其连接到我的开发分支:
当我检查 SCM wwwroot (https://.scm.azurewebsites.net/wwwroot/) 时,这些文件看起来像是来自另一个分支。他们没有一些仅在开发中的文件。
当我检查应用程序设置网址 https://.scm.azurewebsites.net/api/settings 时,json 显示了一个主分支,而我什至没有。如果我在环境变量中更新该变量,它将显示 dev。但它似乎对部署没有什么影响。
trigger:
- dev
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
steps:
- task: UseDotNet@2
inputs:
version: '8.x'
includePreviewVersions: true
- task: DotNetCoreCLI@2
displayName: 'Restore project dependencies'
inputs:
command: 'restore'
projects: '**/*.csproj'
- task: DotNetCoreCLI@2
displayName: 'Build the project'
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: 'Publish the project'
inputs:
command: 'publish'
projects: '**/*.csproj'
publishWebProjects: true
arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: true
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
- stage: Deploy
jobs:
- deployment: Deploy
pool:
vmImage: 'windows-latest'
environment: 'production'
strategy:
runOnce:
deploy:
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)'
- task: AzureWebApp@1
inputs:
azureSubscription: '<subscription>'
appName: '<appName>'
appType: 'webApp'
package: '$(System.ArtifactsDirectory)/**/*.zip'
问题在于部署槽。尽管我已经通过部署中心进行了设置,但我的应用程序服务实际上没有任何部署槽。我删除了部署中心连接,它工作正常。