我正在尝试通过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,我会遇到“找不到资源”错误。
Octo.exe似乎可以大多数其他方式运行。例如,它可以成功创建一个发行版,但是在尝试部署时却只是中断。
以下是版本输出:
Octopus Deploy命令行工具,版本4.13.13
与八达通服务器握手:https://octopus.mycompany.com/
握手成功。
章鱼版:3.12.5; API版本:3.0.0
我尝试剥离所有命令行选项,然后将其拆分为单独的create-release
,deploy-release
,这只会使部署部分始终失败。与服务器的通信似乎可以进行握手,查看和创建发行版等。我也尝试了使用不同的权限,包括完整的Administrator(仍然失败),因此似乎不是权限。
有什么想法吗?
Ubuntu 16.04.4 LTS
Mono JIT编译器版本5.12.0.226(tarball Thu May 3 09:48:32 UTC 2018)
答案 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错误。