我使用的是Teamcity 8.x.x版本。我将Teamcity配置为连续部署。我需要一个功能分支部署。我看到这个文档“http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches“。
我正在尝试在我的TeamCity上实现此文档。我有个问题
我的部署配置使用了“nuget Pack”(nuget)。我的nuget包需要构建计数和分支名称。例如:1.0.0.356-feature-1。
我在尝试这个版本,
%build.number%-%teamcity.build.vcs.branch.VCS_ROOT_ID% ----> 1.0.0.356-refs/head/feature-1
此版本不支持nuget版本控制。nuget not comparative“/".
我需要这个,
%build.number%-%teamcity.build.vcs.SHORT_BRANCH_NAME.VCS_ROOT_ID% ---> 1.0.0.356-feature-1
我怎么能?
2条答案
按热度按时间ndh0cuux1#
我相信你需要的是另一个变量。尝试使用**%vcsroot.分支%。还有%teamcity.build.分支%,但该分支将在默认分支上包含“”。如果您希望更灵活地选择分支名称的确切选择部分,可以按照此页面上的说明操作:
http://confluence.jetbrains.com/display/TCD7/Working+with+Feature+Branches#WorkingwithFeatureBranches-branchSpec。
z31licg02#
我发现,如果您有一个分支设置在目录中,那么
%teamcity.build.branch%
没有定义。如果定义了多个分支,那么%vcsroot.branch%
只报告默认分支的名称。最后我使用了一个git命令来给予当前分支名称。
Powershell:
$branch = (git symbolic-ref --short HEAD) | Out-String
命令行:
TeamCity转换所有的%% -> %,这就是为什么有这么多%
设置为环境变量
如果您希望将分支名称用作项目其他步骤中使用的环境变量,则可以使用PowerShell作为示例来设置分支名称。首先在构建配置中定义env.currentBranch,然后使用以下powershell设置它作为第一个构建步骤。