2011-06-27 70 views
10

從git構建主jenkins提取並使用origin/master時。當從分支jenkins獲取和用戶mybranch而不是origin/mybranch構建時,並沒有獲取更改。如何使用jenkins git插件從分支構建包括來源或不是

我切換分支說明使用原產地/ mybranch它似乎工作。是處理事情的標準方式,還是我錯過了一個更明顯的做法?我不想增加不必要的複雜性。

請讓我知道如果jenkins應該使用原產地/branchname而不是branchname的分支機構到建立領域。

感謝

彼得

回答

2

查看當前的.git/config中,你會看到你的「出身」,以及如何掌握涉及到原點已經指定。沒有其他分支會被指定,所以插件不能構造一個url。要添加更多分支...

[remote "origin"] 
     url = ssh://myserv/srv/git/proj.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
     remote = origin 
     merge = refs/heads/master 
[branch "im_a_branch"] 
     remote = origin 
     merge = refs/heads/im_a_branch_remote_branch_name 

這將使您能夠在詹金斯的分支中建立分支名稱。這可能是矯枉過正和額外的維護。只需放在原產地/ branchname。

+3

Jenkins創建存儲庫的初始克隆。這並不能解決問題。 – djs

+0

對。對詹金斯來說不是非常有用,但一般來說很好。我可以修改主存儲庫,也許我的用戶也會更快樂。 –

3

如果您只有一個遠程存儲庫(名爲origin),則輸入branchname應與輸入origin/branchname同義。如果您有多個存儲庫,並且只需輸入branchname,那麼它應該檢查該分支的所有遠程存儲庫。

請注意,如果您在Jenkins工作區存儲庫中手動創建了名爲branchname的分支,那麼它可能會有一些奇怪的行爲,您可能想要刪除該分支或重新創建工作區。一般而言,您絕不應該手動操作工作區存儲庫中的分支。

它不應該試圖使用本地(非遠程)分支進行輪詢或獲取更改。如果你看到它這樣做,那肯定是一個錯誤。你應該嘗試將你的jenkins實例和git插件升級到最新版本,如果你仍然看到問題,你應該file an issue(同時你可以使用origin/branchname作爲解決方法)。然而,進入只是branchname最適合我的最新版本,所以如果你繼續看到這個問題,我會建議你重新創建工作區,試圖獲得一個乾淨的存儲庫。

+1

我希望我們的構建能夠接收所有遠程/起源/ **分支,除了遙控器/起源/ GEcode和遠程控制/起源/ puecode,這些方式離主站太遠,但這些分支上的更改會導致jenkins撿起它們。我如何忽略它們? –

相關問題