2012-04-22 208 views
2

我正在使用Jenkins的Git Plugin並使用Douglas Creager's get_git_version腳本。這使用git描述爲python模塊獲取一些合理的版本。通常,這將創建類似0.1-11-g80fe130,但詹金斯我得到:Jenkins Git插件:git describe不能描述任何東西

+ git describe 
fatal: No names found, cannot describe anything. 

我已經配置插件不通過「跳過內部變量」拿出了自己的標籤。

this question about pushing from jenkins這樣的主分支進行額外檢出並沒有幫助。

回答

2

關於標籤

如果沒有找到註釋標記,然後將打印fatal: No names found, cannot describe anything(如 「Git Tip of the Week: Tags」 中所述)。
要允許描述使用未註釋的標籤,請使用git describe --tags運行。
也可以使用git describe --all來描述分支,儘管這隻有在遠端已知分支時纔有意義。

所以有可能您的當前回購對Git插件做一個簡單的Git描述不包含任何帶註釋的標籤(這解釋了爲什麼一個分支的提示簽出沒有解決問題:這不是關於DETACHED HEAD的情況)

您需要克隆repo,包括標籤。


其實,OP Jasper Van Den Bosch報道:

我沒有推標籤正確

無標記推,意味着要更新自己的克隆時,詹金斯沒有得到這些標籤,表示git describe無法正常工作。

+0

但我怎麼能得到jenkins結帳從原產地/主人獲取標籤? – 2012-04-22 14:23:05

+1

@JaspervandenBosch不知道當前插件是否支持這個功能,除非您在Jenkins Jobs的第一步中定義了一個額外的命令來從遠程倉庫導入標籤(至少一個'git fetch --tags',combined使用git checkout master,以確保已經導入了所有標籤,並且位於分支的頂端)。 – VonC 2012-04-22 14:26:01

+0

'+ git checkout master 切換到分支'主' + git fetch --tags'沒有做 – 2012-04-22 14:36:48

0

git describe只有在當前檢出之前的歷史記錄中有一個標籤(最好是帶註釋的標籤)後才能正常工作。

/tmp/repo$ git describe 
fatal: No names found, cannot describe anything. 
/tmp/repo$ git tag foo 
/tmp/repo$ git describe 
fatal: No annotated tags can describe '14d827c72b2f277a5cd3e65e7b0e0502edc58fa3'. 
However, there were unannotated tags: try --tags. 
/tmp/repo$ git tag -a 'annotated-tag' -m 'whatever' 
/tmp/repo$ git describe 
annotated-tag 
+0

謝謝。 github託管的存儲庫(origin/master)被標記。所以,如果我克隆它在任何計算機上我有標籤,但不在詹金斯 – 2012-04-22 14:21:00