問題描述如何防止在Maven倉庫發佈的工件(非快照版本)的覆蓋哈德森
考慮這樣的情況行家被哈德森使用。
現在有人拿出了一個項目的結帳,修改了一些文件,但意外地使用了相同的工件ID和版本號(非快照)。
然後,他/她在哈德森上建立這個項目,並做了maven install.The修改後的工件現在在哈德森.m2。任何依賴它的其他項目都將使用修改後的工件進行構建。沒有人發現這一點,如果編譯沒有失敗。即使正確的工件駐留在中央存儲庫中,它也不會被使用,因爲在哈德森開始構建時,修改的工件是從.m2中拾取的。
所以我正在尋找一種方法來防止這種意外的人爲錯誤。
- 無論如何,撤銷在哈德遜的非快照版本(發佈的工件)上的Maven安裝權限?
- 任何方式比較hdson和遠程中央存儲庫中.m2的校驗和,以便校驗和失敗可以產生警告或失敗構建?
我已經檢查過無法強制更新中央存儲庫的非快照版本,因爲它們是不可變的。
清除中央存儲庫或爲哈德遜上的每個作業使用單獨的存儲庫將分別導致磁盤空間使用量增加構建時間&。
任何幫助,將不勝感激。
我已經在artifactory中處理了部署權限。但是這並沒有幫助,因爲如果.m2存儲庫中存在被覆蓋的工件,並且在hudson maven上構建了依賴項目,則始終會從.m2而不是存儲庫服務器中選擇工件。沒有辦法強制下載hudson中的工件或驗證天氣.m2工件與存儲庫服務器同步。 – Aman