2013-05-20 48 views
1

我們正在使用Perforce和Maven,並且我們處於一個分支A的情況,該分支承載了一個成熟的項目和另一個分支B,我們開始使用第一個分支中託管的代碼。如何管理Perforce中的分支間依賴關係?

我預計未來,可能會出現分支A檢入會導致分支B編譯失敗的情況,因爲在其上工作的開發人員不知道特定用法和交叉依賴關係。然後開發人員會浪費時間更新B代碼,並認爲它沒有編譯。

分支機構/項目需要保持其獨立的實體,因爲它的代碼可以在未來的另一個項目中使用。

有人可以建議我處理和緩解這種問題嗎?任何你可以建議的最佳做法?非常感激。

回答

2

您需要設置編譯環境:

1)建立一個持續集成(CI)服務器,諸如詹金斯。當開發人員向分支A提交時,它應該檢測提交併觸發構建。

2)當分支A完成其構建時,它將其工件部署到共享存儲庫。強烈建議(購買不是絕對必要的)是分支A的構建部署到存儲庫服務器,例如Nexus(但是存儲在source controlFTP server does the job too中)。

3)在您的CI服務器中設置分支B,但使用構建「觸發器」,只要分支A的構建成功就運行。

4)配置兩個構建配置,以便在構建失敗時向相關團隊成員(或每個人?)發送電子郵件。

此外,兩個分支都應該取決於上面#2的存儲庫。如果您需要整個環境是可重複且獨立的,請訪問scm-in-scm路徑。