我最近重新配置了我们的TeamCity构建配置,以利用分支功能将相同的构建配置应用于同一存储库中的多个分支。
现在,我正在尝试设置一个自动构建脚本,该脚本可以从TeamCity中提取最新的工件,但仅适用于特定的分支。我能够使用TeamCity REST API在原始配置中的默认分支上正常工作,但无法弄清楚如何格式化URL以提取特定分支的工件。
我查看了以下资源,但无济于事:
http://confluence.jetbrains.com/display/TW/REST+API+Plugin http://confluence.jetbrains.com/display/TCD7/Patterns+For+Accessing+Build+Artifacts
思想?
答案 0 :(得分:4)
我刚遇到这个article。
我计划在接下来的几天内尝试一下,如果有效,我会简要介绍一下这个问题的其他人的结果。
编辑:
很抱歉延迟,我意识到我再也没有回来报道我们是如何解决这个问题的。
我们最终升级了TeamCity(无论如何我们都应该这样做,所以这不是什么大问题),一旦完成,它就会毫不费力地工作。我们现在正在运行TeamCity v8.1.5,这是我们用来绘制工件的URL模式:
http://<build-server>/httpAuth/app/rest/builds/buildType:<build-type>,branch:<branch>/artifacts/content/<artifact-path>
注意:我们使用httpAuth API来授权访问我们的构建工件,因此我们还必须为我们的部署创建一个新的TeamCity用户。
答案 1 :(得分:2)
从链接页面添加QueryString param为我工作:
?branch=<branch_name>
如果没有它,它只会从默认分支下载工件。
我们的完整网址:
http://<buildserver>/repository/downloadAll/<BuildId>/.lastFinished?branch=<branchname>
将从分支机构&#39; branchname&#39;下载最新版本。关于&#39; buildid&#39;配置。
答案 2 :(得分:0)
您可以按如下方式构建URL:
http://<TeamCity-Server>/guestAuth/repository/download/<BUILD_TYPE_ID>/<BUILD_NUMBER>/<ARTIFACT_PATH>