首页 > 解决方案 > 无法将 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 框架。

标签: .net-coreazure-devopsoctopus-deploy.net-core-3.0

解决方案


仔细查看日志后,我发现 OctopusPush 失败了,因为它依赖于 dotnet 2.0.0。我添加了一个yml安装该框架的任务,现在它推送到章鱼。

正如 TrevorBrooks 所描述的那样,使用该dotnet octo工具可能会更整洁,但是我不知道如何在 DevOps 管道中安装 dotnet 扩展。


推荐阅读