在Mono上使用Octo.exe进行部署失败,并显示“找不到您请求的资源”

时间:2018-07-04 02:57:52

标签: mono octopus-deploy

我正在尝试通过mono在Linux上使用octo.exe。

在大多数情况下,它似乎可以正常工作,但是当我尝试部署它时,它总是失败:

  

未找到您请求的资源。

     

八达通服务器出错。

     

(未找到HTTP 404)退出代码:-7

我这样称呼它:

mono tools/Octo.exe create-release --project MyApp --version 123.4 --deployto develop --server https://octopus.mycompany.com/ --apiKey ******* --ignoreexisting --package=MyPackage:123.4

如果我放下mono并在Windows上(使用.NET Framework)运行此命令,则一切正常,但是对于mono,我会遇到“找不到资源”错误。

带有mono的

Octo.exe似乎可以大多数其他方式运行。例如,它可以成功创建一个发行版,但是在尝试部署时却只是中断。

以下是版本输出:

  

Octopus Deploy命令行工具,版本4.13.13

     

与八达通服务器握手:https://octopus.mycompany.com/

     

握手成功。

     

章鱼版:3.12.5; API版本:3.0.0

我尝试剥离所有命令行选项,然后将其拆分为单独的create-releasedeploy-release,这只会使部署部分始终失败。与服务器的通信似乎可以进行握手,查看和创建发行版等。我也尝试了使用不同的权限,包括完整的Administrator(仍然失败),因此似乎不是权限。

有什么想法吗?

  

Ubuntu 16.04.4 LTS

     

Mono JIT编译器版本5.12.0.226(tarball Thu May 3 09:48:32 UTC 2018)

1 个答案:

答案 0 :(得分:1)

2017年5月11日之后发布的任何版本的Octopus Tools中均已解决此问题 https://github.com/OctopusDeploy/OctopusClients/pull/166

我如何诊断问题:

通过使用--debug标志,我发现octo.exe在单声道上运行时正在尝试执行GET https://octopus.mycompany.com/file:///api/releases/Releases-80268,但是在.NET Framework上运行时却在执行https://octopus.mycompany.com/api/releases/Releases-80269

这显然是导致404的原因-根本原因可能是Octo.exe构建URI时暴露的mono错误。