2

我们正在使用 teamcity 中的 octopus-deploy 构建步骤从另一个构建配置部署最新的成功构建。

我的意图是让发布编号与工件编号相关联(这反过来又与 SCM 编号相关联)。

当我部署一个新版本时,章鱼会使用该版本创建一个新版本并进行部署。

如果我再次运行 teamcity 部署步骤(对于已经创建的工件),章鱼应该使用相同的版本号重新部署相同的工件。(而不是因为“这个版本已经存在”而失败)。

从 octo.exe 文档中,--force 选项应该允许我这样做。(我应该能够将其添加到 teamcity 中的“其他命令行参数”中)。

但是我得到一个无法识别的命令参数:--force错误。

我该如何解决?或者还有什么其他选择?(不改变工件/发布编号策略)。

来电:

octo.exe create-release --server octoServerHostName --apikey SECRET --project ProjectName --enableservicemessages --version 1.0.59356.0 --deployto show --waitfordeployment --force

创建 Octopus Deploy 发布 [15:26:05]Octopus Deploy 命令行工具,版本 2.0.8.22 [15:26:05] [15:26:05]无法识别的命令参数:--force

4

2 回答 2

3

在章鱼部署2.0+中,您可以使用:

--ignoreexisting   If a release with the version number already 
                   exists, ignore it

--force [Optional] If a project is configured to skip
                   packages with already-installed versions,
                   override this setting to force re-deployment
                   (flag, default false).

要在一个 teamcity 步骤中准确实现您想要的,您将需要两个--ignoreexisting --force.

于 2014-08-19T19:01:20.303 回答
1

发布的错误显示构建步骤正在调用Octo.exe create-releaseOcto.exe 版本 2.0.8.22 上的命令。该版本没有 --force 参数,因此该错误是意料之中的。

根据您运行的 OctopusDeploy 版本,您可以尝试将插件升级到支持 create-release 命令上的 --force 的更高版本。

说了这么多,我不确定--force给你你想要的。 --force使您可以强制 Octopus 重新安装已安装的软件包,它不会强制创建已存在的 Octopus 版本。

您可能需要考虑使用create-releasedeploy-release命令的组合来避免尝试使用已存在的版本创建发行版时出现问题 - 我认为您正在尝试使用--force.

希望有帮助。

于 2014-05-28T23:53:53.167 回答