第一次設置Jenkins CI系統時,我想知道如何處理快照依賴關係和本地Maven存儲庫。快照依賴關係的持續集成策略(與Jenkins)
我們有一個具有依賴項Y的工件X. Jenkins被配置爲每次Y有一個提交時構建X.
策略A(工作空間Maven倉庫):
的本地倉庫被配置爲 「本地到工作區」。這意味着每個構建的作業都有自己的存儲庫。 Y提交會觸發構建(「mvn clean install」),但由於構建版本X和版本庫Y是隔離的,所以X使用最後的版本Y,而不是最後一次提交。
使用此策略似乎很有用,可以檢測是否還部署了所有依賴關係,但它不會檢測到集成問題(中斷Y提交中斷X)。
戰略B(共用Maven倉庫):
詹金斯使用公共的本地倉庫。 (斷開的)Y快照的提交觸發使用當前Y快照的X的構建,並且檢測到集成問題。缺點是,這不會檢測是否所有構建依賴項都部署到中央快照儲存庫(因爲CI系統確實已將它們全部安裝在本地儲存庫中)。
有沒有一種結合了A和B優點的策略?