团队城市工件依赖性获取最后构建工件不是最新的

时间:2017-04-28 09:02:23

标签: dependencies teamcity artifact

我们正在使用Teamcity来构建和部署我们的Web应用程序。我们正在使用MSBuild构建应用程序并部署MSDeploy。我们想要使用两个不同的构建配置来构建,另一个要部署。

现在我们的问题在于团队城市,当我们使用Artifact Dependency时如何部署最后构建在构建配置中的构建包而不是最后一个最新的变更集构建。如果较旧的变更集构建用于部署之后的更改集,则teamcity似乎不会在artifcat依赖项上使用较旧的变更集。

提前感谢您的帮助。

萨拉

2 个答案:

答案 0 :(得分:1)

UI选项不提供下载最后一个版本的方法,如果它是"历史记录"一。您可以使用REST API下载构建脚本中的文件,因为这样可以灵活地构建选择。例如request ... / app / rest / builds / buildType(id :) / artifacts / content /应该从上一次构建中获取文件,即使它是历史文件。

但是,当您想要部署构建时,依赖于构建序列似乎过于脆弱。这样,如果部署的构建在队列中时触发并完成,则可能会意外部署错误的构建。

要确保部署特定的构建,请在站在要部署的构建上时通过调用Actions / Promote来运行Deployment构建:这样,实际的构件依赖条件将被强制转换为特定构建。任何你可以部署任何版本,包括不是最新版本。

还要考虑使用TeamCity recommended approach并在构建之间配置快照依赖关系,以在构建的依赖关系选项卡和构建链项目/构建配置选项卡上获取可视化。

答案 1 :(得分:0)

Artefact Dependency的默认值为Build from same chain

您可以为Use last successful build配置的Artefact依赖关系设置为Build