我们正在使用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
答案 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-release
和deploy-release
命令的组合,以避免尝试使用已存在的版本创建版本时出现问题 - 我认为您正在尝试使用--force
。
希望有所帮助。