2014-10-31 40 views
4

在TeamCity(TeamCity Professional 8.1.5(構建30240))中有一個構建配置,連接兩個VCS根目錄。 VCS根指向單獨的存儲庫。TeamCity VCS在連接到構建配置的多個VCS根目錄時觸發

此構建配置具有一個VCS觸發器,配置爲在每次檢入時觸發項目,且沒有指定安靜期。問題是,這個觸發器似乎沒有工作,因爲構建仍處於待定狀態。

已添加觸發器規則:「+:root = VCSId_ProjectA:**」,以便對「ProjectB」所做的更改不會調用觸發器。當只有一個VCS根連接到構建配置並且按預期工作時,此觸發器已經過測試。

該觸發器已通過輪詢ProjectA存儲庫以及ProjectA的POST掛接進行測試。兩個結果都是一樣的。 (我甚至嘗試從ProjectA存儲庫發送多個POST鉤子來聲明ProjectA和ProjectB已經被更改,毫不奇怪,這個絕望測試也沒有工作)。

其中一個VCS根目錄的結帳規則是:「+ :. => .ProjectB」。這是爲了確保ProjectB不在ProjectA的根目錄中,而是一個子目錄。當手動啓動Pending構建時,兩個存儲庫都會正確提取。

兩個VCS根都配置爲功能分支,但是,刪除分支規範對結果也沒有影響。

有沒有人遇到類似的問題,並能夠提供一些建議?

回答

1

它可能會有所作爲,也可能不會,但檢出規則應該使用斜槓:「+:。=> ./ ProjectB」,如TeamCity 8.1 documentation中的示例所示。

另外需要注意的是,在構建配置中仍然會看到待定的更改,而不會觸發構建。當ProjectB發生更改時會發生這種情況,但ProjectA中沒有發生更改。

如果上面沒有回答這個問題,並且對這個配置有了更多的瞭解,那麼有沒有相應的觸發規則的額外VCS Root的目的是什麼?

1

我有非常相同的配置:2個VCS根。
我需要觸發第一個VCS根目錄的主分支並運行構建。
如果檢入已檢測到,它會檢出第二個VCS根目錄並運行構建。

加入這行來VSC根觸發規則幫了我: +:root=VCS_root_id:**

它並沒有:**

的TeamCity v9.1.3

工作
相關問題