[英]Git short branch name in teamcity
我正在使用 teamcity 8.xx 版本。我配置了我的 Teamcity 以進行持續部署。 我需要一個功能分支部署。 我看到這個文件“ http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches ”。
我正在嘗試在我的 Teamcity 上實施此文檔。 我有問題。
我的部署配置使用“OctoPack”(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 不是比較“/”。
我需要這個,
%build.number%-%teamcity.build.vcs.SHORT_BRANCH_NAME.VCS_ROOT_ID% ---> 1.0.0.356-feature-1
我怎么辦?
謝謝
我相信你需要的是另一個變量。 嘗試使用%vcsroot.branch% 。 還有%teamcity.build.branch% ,但那個將在默認分支上包含“ <default> ”。 如果您想要更靈活地選擇確切選擇分支名稱的哪一部分,您可以按照此頁面上的說明進行操作:
我發現如果您在 VCS 中設置了一個分支,則%teamcity.build.branch%
未定義。 如果您定義了多個分支,那么%vcsroot.branch%
只會報告默認分支的名稱。
我最終使用了一個 git 命令來給出當前的分支名稱。
電源外殼:
$branch = (git symbolic-ref --short HEAD) | Out-String
命令行:
FOR /F "tokens=* USEBACKQ" %%%%F IN (`git symbolic-ref --short HEAD`) DO (
SET branchName=%%%%F
)
ECHO %%branchName%%
TeamCity 轉換了所有 %% -> % 所以這就是為什么有這么多 %
設置為環境變量
如果您想將分支名稱用作項目其他步驟中使用的環境變量,您可以使用 Powershell 作為示例設置分支名稱。 首先在您的構建配置中定義 env.currentBranch,然后使用以下 powershell 將其設置為您的第一個構建步驟。
$branch = (git symbolic-ref --short HEAD) | Out-String
Write-Host "##teamcity[setParameter name='env.currentBranch' value='$branch']"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.