2016-01-13 39 views
0

在開發過程中,我可以將最新版本的工件引用爲1.2.3-SNAPSHOT。現在,我需要發佈候選者的相同行爲,即我希望能夠依賴最新的候選版本(開發人員也應該有一個程序來聲明開發版本爲候選版本)。釋放候選人在Maven存儲庫中的行爲與SNAPSHOT相同

我不知道如何正確實現此行爲。如果開發人員請求,我是否應該爲發佈候選版本使用額外的存儲庫並將開發版本移至此存儲庫?或者我可以以某種方式定義「第二個快照列表」,如1.2.3-RC?

+0

你看看這個[回答](http://stackoverflow.com/a/15420380/5606016)? –

+0

類似1.2.3-RC-SNAPSHOT的行爲類似於SNAPSHOT,還是SNAPSHOT需要成爲完整限定符(如1.2.3-SNAPSHOT)? –

+0

不,只有它以特殊方式處理的快照,afaik –

回答

1

你可以到那裏進行重新配置的幾件事情:

  • 使用一個版本範圍的依賴
  • 變化updatePolicy爲您存儲候選發佈版的存儲庫。請參閱https://maven.apache.org/settings.html(updatePolicy)。如果您將工件存儲在Maven代理中,通常需要允許覆蓋發佈。

請記住,在多模塊構建中,他們可能會在檢測到構建失敗之前上傳模塊(由於mvn deploy是一個階段而不是目標)。在開始上傳Maven存儲庫中的工件之前,您需要驗證完整的構建是否正常。或者以某種方式將它們舞臺

請記住,這絕對會阻止您的構建可重複使用。由於RC依賴性可能會在構建之間發生變化。您需要更改版本範圍 - 這並不總是一個問題。範圍可能適合你。

我有更好的經驗讓開發人員保留快照,但讓CI服務器在部署/發佈工件所使用的依賴關係之前設置一個明確的版本(例如使用版本插件)。