日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven版本管理

發(fā)布時間:2024/4/13 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven版本管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載于:https://www.cnblogs.com/myitroad/p/6131229.html

?

一、理想的發(fā)布版本,在項目構(gòu)建時需要滿足以下條件:

1、所有自動化測試應(yīng)當(dāng)全部通過;

2、項目沒有配置任何快照版本的依賴;

3、項目沒有任何快照版本的插件;

4、項目所包含的代碼已經(jīng)全部提交到版本控制系統(tǒng)中;

?

因此,將項目的快照版本更新至發(fā)布版本之后,應(yīng)當(dāng)再執(zhí)行一次Maven構(gòu)建,以確保項目狀態(tài)是健康的。然后將這一變更提交到版本控制系統(tǒng)的主干中。接著再為當(dāng)前主干的狀態(tài)打上標(biāo)簽。以Subversion為例,這兒個步驟對應(yīng)的命令如下:

?

二、版本號的定義

Maven的版本號定義約定是這樣的:

  • <主版本>.<次版本>.<增量版本>-<里程碑版本>
  • 主版本:表示項目的重大架構(gòu)變更;

    次版本:表示較大范圍的功能增加和變化;

    增量版本:表示重大Bug的修復(fù);

    里程碑版本:表示一個版本的里程碑。

    ?

    當(dāng)然,不是每個版本號都必須擁有這四個部分,但是前兩個版本一般都有。

    ?

    三、主干、標(biāo)簽和分支

    1、主干trunk:項目開發(fā)代碼的主體,是從項目開始直到當(dāng)前都處于活動的狀態(tài)。從這里可以獲得項目最新的源代碼以及幾乎所有的變更歷史。

    2、分支branch:從主干的某個點分離出來的代碼拷貝,通常可以在不影響主干的前提下在這里進(jìn)行重大Bug的修復(fù),或者做一些實驗性質(zhì)的開發(fā)。如果分支達(dá)到了預(yù)期的目的,通常發(fā)生在這里的變更會被合井( merge)到主干中。

    3、標(biāo)簽tag:用來標(biāo)識主干或者分支的某個點的狀態(tài),以代表項目的某個穩(wěn)定狀態(tài),這通常就是版本發(fā)布時的狀態(tài)。

    ?

    四、自動化版本發(fā)布

    當(dāng)熟悉了版本發(fā)布流程之后,就會希望借助工具將這流程自動化。Maven Release plugin就提供了這樣的功能,只要提供一些必要的信息。它就能幫我們完成上述所有版本發(fā)布所涉及的操作。下面介紹如何使用Maven Release plugin發(fā)布項目版本。

    Maven Release plugin主要有三個目標(biāo):分別如下:

    1、release:prepare——準(zhǔn)備版本發(fā)布

    2、release:rollback——回退release:prepare執(zhí)行的操作

    3、release:perform——執(zhí)行版本發(fā)布。

    ?

    五、自動化創(chuàng)建分支

    在正式發(fā)布版本1.1.0的同時,還可以創(chuàng)建個分支用來修復(fù)將來這個版本可能遇到的重大Bug。這個過程可以手工完成,例如使用svn copy操作將主干代碼復(fù)制到個名為1.1.x的分支中,然后修改分支中的POM文件,升級其版本為1.1.1-SNAPSHOT,這會設(shè)計很多Subversion操作。

    使用Maven Release Plugin的branch目標(biāo),能夠幫助我們自動化這些操作:

    1、檢查本地有無未提交的代碼;

    2、為分支更改POM的版本,例如從1.1.0-SNAPSHORT改變成1.1.1-SNAPSHOT;

    3、將POM中的SCM信息更新為分支信息;

    4、提交以上更改;

    5、將主干代碼復(fù)制到分支中;

    6、修改本地代碼使其回到到分之前的版本;

    7、提交本地更新。

    ?

    ?

    六、Maven GPG Plugin

    使用GPG,為構(gòu)件提供簽名,以提供更強的安全性。

    略。

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Maven版本管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。