5

我們的軟件建立在linux和windows平臺上。根據開發人員的偏好,在任一平臺上開發和測試貢獻,然後提交給我們的Subversion存儲庫。然後發現這個貢獻並不是建立在另一個平臺上的,必須做出一個修正。在其他平臺上的修復可能會再次打破原始平臺上的構建,等等。如何在提交之前自動化或促進多平臺構建/測試?

我寧願看到貢獻是在其他平臺上構建(並經過迴歸測試),以及在提交之前。我們有一個連續的構建服務器(CruiseControl),但是該服務器是從存儲庫構建的。我正在尋找一個解決方案,其中連續構建服務器作爲預先提交檢查在另一個平臺上構建,然後在構建和測試成功時提交這些內容。

有什麼建議嗎?

回答

0

Matheiu戈德萊夫斯基已經在CruiseControl wiki

取得了很好的建議。如果你把他與veto元素的建議,我想你應該設置。

1

有兩個分支可能會更容易,一個是簽入人員,另一個是在他們通過持續集成之後合併其更改。

6

Teamcity處理預先測試的提交,您可能可以使用4.0(http://www.jetbrains.com/teamcity/features/newfeatures.html)中的新建構鏈功能做些事情。代理是跨平臺的,可以配置爲僅運行構建的特定位,因此可以配置爲僅運行測試的子集。

請注意,我並沒有真正做到了這一點:)

+0

對於TeamCity的「預測試提交」+1。他們還有一個名爲「個人構建」的功能,類似於未經提交的預測試提交。 – 2008-12-04 19:23:53

0

我們使用了一個自定義生成和測試設備,可以遠程部署到多個操作系統(以及多個操作系統的多個數據庫產品)。這是作爲一個夜間編譯完成的,規則是第二天早上修復你的錯誤。

當時沒有完全連續,但這在預提交鉤子上可能需要做很多工作。特別是如果您的源代碼控制庫在預執行鉤子執行期間鎖定了受影響的文件。

我認爲在白天運行的持續集成測試,每次提交以及每晚運行的系統集成測試之間存在差異。

0

Douglas Leeder提出了一個「整合」分支 - 它的好處是可以自動化。如果測試通過 - 合併到「中繼線」。

某些版本控制系統(例如bzr/hg/git)比其他版本控制系統更容易實現,但它在大多數情況下是可行的。

相關問題