Teamcity Octopus-deploy集成 - 强制重新部署预先存在的版本(使用--force选项)

时间:2014-05-12 23:01:30

标签: teamcity octopus-deploy

我们正在使用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 showcase --waitfordeployment --force

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

2 个答案:

答案 0 :(得分: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).

要在单个团队步骤中实现您想要的目标,您需要同时--ignoreexisting --force

答案 1 :(得分:1)

发布的错误显示构建步骤在Octo.exe的2.0.8.22版本上调用Octo.exe create-release命令。该版本没有--force参数,因此可以预期错误。

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

尽管如此,我不确定--force能给你什么。 --force使您能够强制Octopus重新安装已安装的软件包,它不会强制创建已存在的Octopus版本。

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

希望有所帮助。