.net-core - 无法将 dotnet 3.0.100 应用程序从 Azure DevOps 推送到 Octopus
问题描述
我正在使用 DevOps 管道将我的 dotnet 构建推送到 Octopus 云实例。
在我将 dotnet SDK 3 安装程序添加到 devops 管道之前,它运行良好
- task: UseDotNet@2
displayName: 'Install .net core 3.0.100'
inputs:
packageType: sdk
version: '3.0.100'
installationPath: $(Agent.ToolsDirectory)/dotnet
我的 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
有没有人能够将 dotnet 3 与 Octopus 部署一起使用?一种选择可能是为 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]
这意味着章鱼必须尝试使用 dotnet 2 框架。
解决方案
仔细查看日志后,我发现 OctopusPush 失败了,因为它依赖于 dotnet 2.0.0。我添加了一个yml
安装该框架的任务,现在它推送到章鱼。
正如 TrevorBrooks 所描述的那样,使用该dotnet octo
工具可能会更整洁,但是我不知道如何在 DevOps 管道中安装 dotnet 扩展。
推荐阅读
- c# - 如何为真实硬件制作 Cosmos 虚拟文件系统
- ios - 应用程序终止或终止时如何在 coredata 中存储推送通知?
- html - 如何在行尾设置行女巫宽度为 25%?
- powerbi - 在编辑模式下嵌入 Power BI 有什么好处?
- firebase - 使用 getDownloadUrl() 与公开对象有什么区别?
- security - macOS 小鸟应用程序文件显示在安全面板中?
- token - ETH 调用代币分配合约 - 汽油价格
- chatbot - 插槽可以在 RASA 中采用没有操作功能或表单的实体值吗?
- swift - 为什么我的 SwiftUI 列表选择在选择时没有突出显示?
- ios - 收藏视图更改后开始玩 Lottie