我想知道「延遲提交」功能如何在未與源代碼控制存儲庫集成的CI服務器上工作。從概念上講,過程就像如下:「延遲提交」如何與源代碼控制存儲庫和CI服務器一起使用?
- 入住代碼更改
- CI服務器構建的變化
- 如果構建通過,代碼提交如果構建沒有源代碼控制庫
- ,該代碼未提交到源代碼管理存儲庫
大多數CI服務器通過輪詢源代碼管理存儲庫以查找更改,然後下拉代碼來工作。因此,在延遲提交場景中,開發人員是否將他們的代碼檢查到CI服務器而不是實際的源代碼控制存儲庫,然後CI服務器是否將代碼傳遞到存儲庫?或者,如果構建失敗,CI服務器是否會回滾更改?
我特別想到兩個持續集成系統。 Team Foundation Server將在下一版本中提供此功能,但它很有意義,因爲TFS中的Team Build(CI系統)已與源代碼管理存儲庫集成在一起。但是,就Team City而言,TC能夠連接到任何源代碼管理系統,並且不一定與源代碼管理系統庫集成在一起,甚至不在與源代碼管理系統庫相同的服務器上。這是如何工作的?
編輯:在這個問題上打開賞金,希望我可以得到更多可能的答案。