我无法弄清楚如何使用 YAML 将我的 API 添加到 Azure 应用服务。
更具体地说,如何设置路径来查找我的 HttpApi.Host.zip 文件夹?
作为参考,我正在关注 ABP Goes Azure 上的 ABP.io 教程。本教程的第 6 步不适用,因为它是一个新的 Azure Dev Ops 项目,并且他们已经取消了“发布”按钮的使用。
我确实提出了拉取请求来通知他们,但尽管他们很忙,我怀疑它是否能很快得到解决。
下面是我的 YAML 设置和显示创建的 Artifact 文件的图片。我在运行结束时设置了此任务。
我尝试执行以下操作以允许它找到 zip 文件:
packageForLinux: '$(System.DefaultWorkingDirectory)/**/HttpApi.Host.zip'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/Navrae.CentralWage.HttpApi.Host.zip'
packageForLinux: '$(System.DefaultWorkingDirectory)/*src/Navrae.CentralWage.HttpApi.Host.zip'
packageForLinux: '$(System.DefaultWorkingDirectory)/*drop/Navrae.CentralWage.HttpApi.Host.zip'
YAML 文件
- task: AzureRmWebAppDeployment@4
displayName: Push Azure Api
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Azure Subscription removed'
appType: 'webApp'
WebAppName: 'WebAppAi'
packageForLinux: '$(System.DefaultWorkingDirectory)/**/*.zip'
这是我生成的工件:我应该尝试定位 Navrae.CentralWage.HttpApi.Host.zip 吗?还是我有这个困惑?
我最终需要使用 Blazor 应用程序做同样的事情,我怀疑一旦我弄清楚这一步,这会更容易!
我检查了教程,发现在步骤4中,您构建文件并将其输出到
Build.ArtifactStagingDirectory
文件夹。所以,Navrae.CentralWage.HttpApi.Host.zip
的路径是$(Build.ArtifactStagingDirectory)/Navrae.CentralWage.HttpApi.Host.zip
System.DefaultWorkingDirectory
是代理上下载源代码文件的本地路径。例如:c:\agent_work\1\s
。
Build.ArtifactStagingDirectory
是代理上的本地路径,任何工件在被推送到目的地之前都会被复制到该路径。例如:c:\agent_work\1\a
。
它们是不同的路径,这就是为什么你在
System.DefaultWorkingDirectory
中找不到该文件。
修改后的yaml如下所示:
- task: DotNetCoreCLI@2
displayName: Dotnet publish
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
zipAfterPublish: True
- task: PublishBuildArtifacts@1
displayName: Publish artifact
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
- task: AzureRmWebAppDeployment@4
displayName: Push Azure Api
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Azure Subscription '
appType: 'webApp'
WebAppName: 'WebAppAi'
packageForLinux: '$(Build.ArtifactStagingDirectory)/Navrae.CentralWage.HttpApi.Host.zip'
顺便说一句,您说“本教程的第 6 步不适用,因为它是一个新的 Azure Dev Ops 项目,并且他们已经取消了“发布”按钮的使用。”
如果您希望恢复“发布”按钮并使用经典发布管道,则可以通过打开组织级别或项目级别的切换来启用经典管道的创建。要在组织级别打开它,请导航至组织设置,然后在管道部分下选择设置。在“常规”部分中,禁用“禁用经典构建和经典发布管道的创建”。要在组织级别进行管理,您需要 项目集合管理员 权限,而对于项目,您需要 项目管理员 权限。