我需要你的帮助!
我在Blazor服务器中有一个应用程序,我正在尝试将发布管道集成到Azure DevOps。发布发生在Linux类型的Azure WebApp上的暂存分发插槽中。
我的管道成功完成,我检查了代理文件夹中的.zip文件,它似乎是正确的(dll和wwwroot文件夹在根目录中)。我正在附加我当前使用的管道。
我注意到的一件事是,在我的App Service的Distribution Center选项卡中,Source分支是Main而不是Staging。我声明我手动创建了应用程序和staging插槽,并且与外部存储库没有关联。
enter image description here
trigger:
- staging
pool:
Default
variables:
buildConfiguration: 'Release'
isMain: $[eq(variables['Build.SourceBranch'], 'refs/heads/staging')]
steps:
- script: |
dotnet restore
dotnet build --configuration Release
- task: DotNetCoreCLI@2
condition: and(succeeded(), eq(variables.isMain, true))
inputs:
command: publish
arguments: '--configuration Release --output publish_output'
projects: 'Company.Frontend/Company.Frontend.csproj'
publishWebProjects: false
modifyOutputPath: false
zipAfterPublish: false
- task: ArchiveFiles@2
displayName: "Archive files"
condition: and(succeeded(), eq(variables.isMain, true))
inputs:
rootFolderOrFile: "$(System.DefaultWorkingDirectory)/publish_output"
includeRootFolder: false
archiveFile: "$(System.DefaultWorkingDirectory)/build$(Build.BuildId).zip"
- task: AzureWebApp@1
retryCountOnTaskFailure: 5
condition: and(succeeded(), eq(variables.isMain, true))
inputs:
azureSubscription: 'CompanyStg'
appType: 'webAppLinux'
appName: 'xxx-app-stg'
projects: 'Company.Frontend/Company.Frontend.csproj'
deployToSlotOrASE: true
ResourceGroupName: 'Company-STG'
SlotName: 'staging'
packages: '$(System.DefaultWorkingDirectory)/*.zip'
我尝试通过visual studio发布,应用程序部署成功
1条答案
按热度按时间wnavrhmk1#
管道看起来很好,但我会尝试通过进行这些更改来进行故障排除:
1.我查看了我的管道,我的触发器看起来像这样:
1.您可以尝试将
--self-contained
添加到DotNetCoreCLI@2
中的参数:1.我尝试将
AzureWebApp@1
改为只使用ArchiveFiles
中的zip文件,并删除csproj位:1.另外,之前有一件事让我很不爽-确保你的staging分支有这个版本的
YAML
文件。我之前花了太多时间进行故障排除,才意识到我的YAML文件在develop
上,而不是在qa
或staging
上。