2015-11-16 58 views
1

有沒有辦法設置buildbot Git步驟來檢出特定的SHA編號?文檔說可以指定一個TAG,但是我找不到具體的SHA編號(不是說TAG的格式更清晰,只是設置TAG名稱而不是分支失敗)。Buildbot標籤或SHA的Git

+0

提交id是固定的,標籤也應該是靜態的。如果你仔細想想,一個*連續*集成系統只能引用一個修訂版本並沒有什麼意義。 – poke

+0

@poke:你有一點。然而,事情是我有三個Git倉庫,我需要去完成一個構建。其中兩個沒有變化,但第三個是。這個問題對於其中一個不變的兩個問題。 – ilya1725

+0

對於那些沒有改變的人使用分支有問題嗎?分支機構很便宜,所以只需爲您的目的創建一個分支機構。但是,實際上這聽起來更像是你應該使用子模塊,如果一個存儲庫依賴於另外兩個存儲庫。 – poke

回答

1

有一個解決方法,不是一個直接的解決方案。 在工廠,Git的一步拉有問題的Git倉庫的主人後,添加一個ShellCommand步驟基本上改變所需的SHA /標籤:

fac.addStep(ShellCommand(name="GIT at SHA", 
         command=["git", "checkout", "76dd56c61ffa96b2cfe6b18e2fa7c054d8804508"], 
         workdir="<GIT root>", 
         timeout=None)) 
0

您可以指定版本內特定的散列物業:

setProperty(f, 'revision', SHA-HASH) 
f.addStep(git(name='pull.src', mode='full', repourl=src_url, 
       method='fresh', alwaysUseLatest=True, retry = (60, 5), 
       description='pull.src')) 

請注意,如果您已經從存儲庫中拉出,或者您打算在之後再拉另一個,這將不起作用。 buildbot在內部使用got_revision屬性,假設你已經拉動了一個修訂版,你想繼續拉同一個修訂版。在這種情況下,你必須在拉動之前/之後設置/恢復該屬性。