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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git maven 发布_Maven Git发布

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git maven 发布_Maven Git发布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

git maven 發布

在開始這篇文章之前,我需要指出我在去年才開始認真地與Git合作 。 不幸的是,我從事的許多項目仍在使用SVN或CVS,但現在我終于開始使用Git了 。

在過去的幾年中,我使用Maven Release Plugin完成了許多軟件發行。 我仍然記得我花了整整一個星期的時間才在我的一個項目中設置插件。 在大多數情況下,它都運行良好,但是如果出現問題,您可以花幾個小時來解決問題。 天哪,噩夢!

最近,我想對Git項目執行相同的操作,并且遇到了Maven JGit-Flow插件 ,我必須告訴你,這太棒了! 設置非常容易,并且在第一次嘗試時就可以完美地工作!

該插件基于Vincent Driessen在A成功的Git分支模型一 文中描述的開發模型。 花點時間閱讀它,因為它非常有趣。

我將向您展示如何使用此插件進行發布。 我將使用有關Spring Batch的最新文章中的項目作為Wildfly Module 。

建立

設置非常簡單,只需將以下內容添加到pom.xml :

om-jgitflow-maven-plugin.xml

<plugin><groupId>external.atlassian.jgitflow</groupId><artifactId>jgitflow-maven-plugin</artifactId><version>1.0-m3</version><configuration><noDeploy>true</noDeploy></configuration> </plugin>

我剛剛添加了noDeploy配置,因為我沒有發布到Maven存儲庫。 而已!

釋放

讓我們看看我的項目分支和版本:

分行

radcortez:wildfly-spring-batch radcortez$ git branch -avv * master 0b2364b [origin/master] Added documentation.remotes/origin/master 0b2364b Added documentation. radcortez:wildfly-spring-batch radcortez$ mvn help:evaluate -Dexpression=project.version [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building wildfly-spring-batch 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-help-plugin:2.2:evaluate (default-cli) @ wildfly-spring-batch --- [INFO] No artifact parameter specified, using 'com.cortez.wildfly.batch:wildfly-spring-batch:war:1.0-SNAPSHOT' as project. [INFO] 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------

現在,只需運行mvn jgitflow:release-start :

發布準備

radcortez:wildfly-spring-batch radcortez$ mvn jgitflow:release-start [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building wildfly-spring-batch 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- jgitflow-maven-plugin:1.0-m3:release-start (default-cli) @ wildfly-spring-batch --- [INFO] ensuring origin exists... [INFO] (develop) Checking for SNAPSHOT version in projects... [INFO] (develop) Checking dependencies and plugins for snapshots ... What is the release version for "wildfly-spring-batch"? (com.cortez.wildfly.batch:wildfly-spring-batch) [1.0]: [INFO] ensuring origin exists... [INFO] (release/1.0) adding snapshot to pom versions... [INFO] (release/1.0) updating poms for all projects... [INFO] turn on debug logging with -X to see exact changes [INFO] (release/1.0) updating pom for wildfly-spring-batch... What is the development version for "wildfly-spring-batch"? (com.cortez.wildfly.batch:wildfly-spring-batch) [1.1-SNAPSHOT]: [INFO] (develop) updating poms with next development version... [INFO] (develop) updating poms for all projects... [INFO] turn on debug logging with -X to see exact changes [INFO] (develop) updating pom for wildfly-spring-batch... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------

您將獲得一個交互式菜單,以選擇要發布的版本號,方法與Maven Release Plugin相同。 我開發的master分支,但在這個過程中release分支與發行版本和創建development分支與新開發版本。

發行準備分支

radcortez:wildfly-spring-batch radcortez$ git branch -avvdevelop 728856a [origin/develop] updating poms for 1.1-SNAPSHOT developmentmaster 0b2364b [origin/master] Added documentation. * release/1.0 9f88a42 updating poms for branch '1.0' with snapshot versionsremotes/origin/master 0b2364b Added documentation.

現在,這很酷的事情是,一切仍在您的本地環境中! 如果您對更改不滿意,則可以擺脫分支并重新開始。 此時未執行構建。

如果要發布,只需運行mvn jgitflow:release-finish :

釋放完成

radcortez:wildfly-spring-batch radcortez$ mvn jgitflow:release-finish [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building wildfly-spring-batch 1.0 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- jgitflow-maven-plugin:1.0-m3:release-finish (default-cli) @ wildfly-spring-batch --- [INFO] ensuring origin exists... [INFO] running jgitflow release finish... [INFO] ensuring origin exists... [INFO] (release/1.0) Updating poms for RELEASE [INFO] (release/1.0) removing snapshot from pom versions... [INFO] (release/1.0) updating poms for all projects... [INFO] turn on debug logging with -X to see exact changes [INFO] (release/1.0) updating pom for wildfly-spring-batch... [INFO] (release/1.0) Checking for RELEASE version in projects... [INFO] (release/1.0) Checking dependencies and plugins for snapshots ...[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building wildfly-spring-batch 1.0

在此步驟中,將按照A成功的Git分支模型中所述合并release分支并創建標簽。 記住,什么都沒有推送,所以您可以隨時還原該過程。

現在讓我們看一下分支和標簽:

分支標簽

radcortez:wildfly-spring-batch radcortez$ git branch -avv * develop a8e762b [origin/develop] Updating develop poms back to pre merge statemaster b6fbda0 [origin/master: ahead 3] Merge branch 'release/1.0'remotes/origin/master 0b2364b Added documentation. radcortez:wildfly-spring-batch radcortez$ git tag 1.0

現在,您可以輕松完成發行,并準備繼續在新的更新development分支中進行development 。 那有多容易?

結論

研究原始發行插件和jgitflow之間的一些區別:

  • 您不必擔心階段提交。 一切都是本地的,直到您推送。
  • 在此過程中,其他人更改pom.xml不再有問題。
  • 您的項目僅構建一次,從而節省了發布時間。
  • 設置非常容易。 一切都從您的Git配置中選取。

當我調查/撰寫文章時,我發現了這篇非常有趣的文章,關于執行發布的另一種方法。 值得閱讀: Axel Fontaine的 http://axelfontaine.com/blog/final-nail.html 。

翻譯自: https://www.javacodegeeks.com/2014/08/maven-git-release.html

git maven 發布

總結

以上是生活随笔為你收集整理的git maven 发布_Maven Git发布的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。