.net core 无法从Azure DevOps将dotnet 3.0.100应用程序推送到八达通
我正在使用DevOps管道将我的dotnet构建推送到一个八达通云实例 在我将dotnetsdk3安装程序添加到devops管道之前,它工作得很好.net core 无法从Azure DevOps将dotnet 3.0.100应用程序推送到八达通,.net-core,azure-devops,octopus-deploy,.net-core-3.0,.net Core,Azure Devops,Octopus Deploy,.net Core 3.0,我正在使用DevOps管道将我的dotnet构建推送到一个八达通云实例 在我将dotnetsdk3安装程序添加到devops管道之前,它工作得很好 - task: UseDotNet@2 displayName: 'Install .net core 3.0.100' inputs: packageType: sdk version: '3.0.100' installationPath: $(Agent.ToolsDirectory)/dotnet my az
- task: UseDotNet@2
displayName: 'Install .net core 3.0.100'
inputs:
packageType: sdk
version: '3.0.100'
installationPath: $(Agent.ToolsDirectory)/dotnet
my azure-pipelines.yml中的八达通部分如下所示:
- task: OctoInstaller@4
inputs:
version: 'latest'
- task: OctopusPush@4
inputs:
OctoConnectedServiceName: 'XXX.octopus.app'
Space: 'Spaces-1'
Package: '$(Build.ArtifactStagingDirectory)/$(Build.DefinitionName).$(Build.BuildNumber).zip'
Replace: 'false'
我尝试了所有我能想到的OctoInstaller组合,包括嵌入式和显式版本号。我一直通过@4收到这个错误消息
Failed to push package. The Octo command line tool is too old to run this task. Please use version 6.10.0 or newer, or downgrade the task to version 3.*.
与OctoInstall@3我得到另一个错误:
Failed to push package. The process '/opt/hostedtoolcache/dotnet/dotnet' failed with exit code 150
有没有人能够将Dotnet3与八达通一起使用?一种选择
可能是为dotnet安装octo扩展,但我不确定如何安装
您可以从azure管道中执行此操作。或者使用Windows版本
而不是Ubuntu
我还注意到构建步骤中的一个错误
The specified framework 'Microsoft.NETCore.App', version '2.0.0' was not found.
- The following frameworks were found:
3.0.0 at [/opt/hostedtoolcache/dotnet/shared/Microsoft.NETCore.App]
这意味着八达通必须尝试使用dotnet2框架。使用
dotnetocto
这篇博客文章详细解释了如何实现这一点
对于Azure管道,请参阅本文:
记住
Azure DevOps扩展任务要求Octo在
在生成代理上执行时的路径,并且必须具有.net core 2.0.0
已安装运行时或更新版本。这可能并不总是可能的,例如
使用Azure DevOps托管代理。为了实现这一目标,所有
八达通任务将自动尝试下载并使用
最新版本的Octo工具,除非它们在构建中可用
如上所述的代理。如果你想避免任何额外的
下载或使用特定的Octo版本,然后您可以通过添加
Octo安装程序任务,以开始生成定义。不尝试
如果在您的计算机上检测到该功能,将下载Octo
构建代理
仔细查看日志后,我发现Octopush失败了,因为它依赖于Dotnet2.0.0。我添加了一个
yml
任务来安装这个框架,现在它推到了八达通
使用TrevorBrooks描述的
dotnet octo
工具可能更整洁,但是我不知道如何在DevOps管道中安装dotnet扩展。这就是我在“安装octo扩展…”一文中提到的。你知道如何在DevOps管道中使用它吗?如果是,请提供详细信息。请使用版本6.10.0或更高版本,您尝试过吗?是的,我尝试过各种版本,包括6.10.0。我通过在Octopush步骤之前添加一个步骤来安装Dotnet2.0.0,从而完成了构建工作。非常感谢在此处共享此解决方案。您可以接受此答案,以便其他用户可以直接参考此解决方案。