在項目開發過程中,通常開發階段會包含以下幾個步驟:
1. 将所有的代碼送出到版本管理庫(SVN,GIT)或者是打上對應的标簽。
2. 從SVN下載下傳源碼
3. 建構應用
4. 存儲建構輸出war,ear或者jar包到網絡上指定位置。
5. 從網絡上擷取對應的包資訊。
6. 及時更新文檔以及更新版本号,
基于上述步驟:一般需要一個版本管理庫(SVN,CVS,GIT);倉庫建構和釋出(maven), 倉庫管理軟體(nexus)。其中maven通過SCM插件對其進行版本管理軟體進行建構操作。通過distributionManagement釋出到對應的網絡目錄下。
SCM主要用于從版本管理庫中擷取對應的最新版本資訊,其主要包括兩個連結:
1. developerConnection:用于指定開發者的連結。
2. connection:用于釋出的連結
其主要配置格式如下:
完整例子:
通過配置如下腳本,使其更改生效
通過mvn的操作将代碼進行了同步更新操作。接下來我們需要将上述代碼打包釋出出去,該maven-release-plugin登場!
三 maven-release-plugin
該插件的主要功能是通過mavn自動釋出項目,減少人工幹預。它依賴于POM的SCM資訊。其主要包括的階段1. 準備階段;2執行階段;3.復原,4清楚。
其主要配置資訊如下:
其執行指令順序如下:
(如果釋出snapshot,隻需要執行mvn clean deploy即可)
當上述穩定版本釋出之後,如何快速的将其加入到對應的maven倉庫(nexus)中,需要該輪到distributionManagement了。
四. distributionManagement
maven倉庫分為兩種:快照倉庫(snapshot reposity)與釋出倉庫(release reposity).快照倉庫用于儲存項目的不穩定版本。釋出倉庫既儲存穩定版本。一般釋出版本需要在版本号後加入-SNAPSHOT(要大寫)。其詳細列子如下:
其中上面的id對應%M2_HOME%\conf\settings.xml的<service>節點,配置如下:
通過運作以下指令進行釋出
pluginrepositories:主要是maven用來解決插件依賴。這個需要在setting.xml火災在pom中配置。
repository :其他的手工依賴需要依靠需要使用reposity(例如 parant pom.xml)等。
其代碼如下