3
A
回答
0
您可以在標籤後檢查git describe
v1.0.4-14-g2414721
^^
輸出。如果您沒有看到「0」,則當前提交是不通過標籤引用。
爲了讓所有的標籤OFR當前提交:
git log -n1 --pretty=format:%h%d @
不要忘記你可以關聯到提交多個標籤。
但TeamCity的,請檢查您是否可以使用VCS branch trigger,它可以幫助建築物只能用於
- 分支規範標籤的VCS根爲 「+:裁判/標籤/ *」
- VCS構建觸發規則爲:
+:*
和-:<default>
。
1
你可以做到這一點,但不原生地。
您需要在構建代理上安裝git,並確保代理在代理上籤出。更多信息,爲什麼這需要做可以在TeamCity Checkout Mode Documentation
此發現將確保一個Git倉庫,在代理創建,然後你可以用git本地命令。你需要的是一個
git describe --tags <commit-id>
在TeamCity的,你應該能夠運行與此類似
這一個PowerShell一步將錯誤,如果沒有標籤!如果沒有標籤存在,您可以將--always
開關添加到這將返回一個短的散列。
SET TeamCity的變量
$tag = git describe --tags %build.vcs.number% --always
Write-Host "##teamcity[setParameter name='MyParameterName' value='$tag']"
參數 「MyParameterName」 必須已定義。
希望這有助於
謝謝你的回答,因爲我明白這種做法只會工作,定期生成。對不起,可能我應該在我的問題中提到它 - 我對自定義構建方案感興趣 - 當您手動選擇要進行構建的更改時。我可以使用GIT DESCRIBE來獲取標籤 - 但我如何獲得我想要構建的提交標識符? – Alex