我想为TeamCity服务器提供一个git标签来构建它。
我将标记(即release_1.1
)作为参数传递给作业。因此,在作业内部,标记可用%tag%
,但在Version Control Settings
下,我看不到任何使用此参数的方法,因此服务器可以签出此标记。
有没有办法在设置中使用此参数来签出标签?
答案 0 :(得分:56)
对于此构建配置的所有VCS根目录,请单击“编辑”,然后单击:
然后,当您按下' ...'时,您就可以选择一个标签。跑步旁边的按钮。
答案 1 :(得分:18)
我成功完成了以下工作:
在构建配置中,在“构建参数”下:
定义配置参数:
TagToBuild
Configuration parameter
Tag to build
This should be the full path to the tag, i.e. refs/tags/0.5.5
Prompt
Text
请注意,“值”字段有意留空。
然后,在VCS Root:
中%TagToBuild%
当我运行构建时,我会提示我提供分支/标记名称:
输入refs/tags/0.5.0
之类的值会产生一个很好的构建,并在结果中列出分支名称:
如果您尝试以超出描述的任何方式帮助用户,这似乎失败了。所以你不能做以下任何事情:
refs/tags/
并让用户添加标记名称。refs/tags/%TagToBuild%
。在我们稍微过时的(7.1)Team City实例的两种情况下,我都收到了错误:
无法收集更改,错误:jetbrains / buildServer / buildTriggers / vcs / VcsRootChangesLoader.loadChanges的@NotNull参数的参数2不能为空
答案 2 :(得分:5)
我没有使用标签做到这一点,但我已经用分支完成了这个。我告诉TeamCity通过指定它应该构建+:refs/heads/*
来构建所有分支。现在每当我推动任何分支时,TeamCity都会构建它。然后在构建中我使用git branch
并查找以*
开头的行。我将该分支名称嵌入到一个方便的位置(AssemblyInfo.cs for .NET,package.json for node。)请参阅http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches
答案 3 :(得分:4)
您需要在refs/tags/${tagName}
中指定代码格式。
所以你的refs/tags/release_1.1
。