git maven 发布_Maven Git发布
git maven 發(fā)布
在開(kāi)始這篇文章之前,我需要指出我在去年才開(kāi)始認(rèn)真地與Git合作 。 不幸的是,我從事的許多項(xiàng)目仍在使用SVN或CVS,但現(xiàn)在我終于開(kāi)始使用Git了 。
在過(guò)去的幾年中,我使用Maven Release Plugin完成了許多軟件發(fā)行。 我仍然記得我花了整整一個(gè)星期的時(shí)間才在我的一個(gè)項(xiàng)目中設(shè)置插件。 在大多數(shù)情況下,它都運(yùn)行良好,但是如果出現(xiàn)問(wèn)題,您可以花幾個(gè)小時(shí)來(lái)解決問(wèn)題。 天哪,噩夢(mèng)!
最近,我想對(duì)Git項(xiàng)目執(zhí)行相同的操作,并且遇到了Maven JGit-Flow插件 ,我必須告訴你,這太棒了! 設(shè)置非常容易,并且在第一次嘗試時(shí)就可以完美地工作!
該插件基于Vincent Driessen在A成功的Git分支模型一 文中描述的開(kāi)發(fā)模型。 花點(diǎn)時(shí)間閱讀它,因?yàn)樗浅S腥ぁ?
我將向您展示如何使用此插件進(jìn)行發(fā)布。 我將使用有關(guān)Spring Batch的最新文章中的項(xiàng)目作為Wildfly Module 。
建立
設(shè)置非常簡(jiǎn)單,只需將以下內(nèi)容添加到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配置,因?yàn)槲覜](méi)有發(fā)布到Maven存儲(chǔ)庫(kù)。 而已!
釋放
讓我們看看我的項(xiàng)目分支和版本:
分行
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] ------------------------------------------------------------------------現(xiàn)在,只需運(yùn)行mvn jgitflow:release-start :
發(fā)布準(zhǔn)備
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] ------------------------------------------------------------------------您將獲得一個(gè)交互式菜單,以選擇要發(fā)布的版本號(hào),方法與Maven Release Plugin相同。 我開(kāi)發(fā)的master分支,但在這個(gè)過(guò)程中release分支與發(fā)行版本和創(chuàng)建development分支與新開(kāi)發(fā)版本。
發(fā)行準(zhǔn)備分支
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.現(xiàn)在,這很酷的事情是,一切仍在您的本地環(huán)境中! 如果您對(duì)更改不滿意,則可以擺脫分支并重新開(kāi)始。 此時(shí)未執(zhí)行構(gòu)建。
如果要發(fā)布,只需運(yùn)行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分支并創(chuàng)建標(biāo)簽。 記住,什么都沒(méi)有推送,所以您可以隨時(shí)還原該過(guò)程。
現(xiàn)在讓我們看一下分支和標(biāo)簽:
分支標(biāo)簽
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現(xiàn)在,您可以輕松完成發(fā)行,并準(zhǔn)備繼續(xù)在新的更新development分支中進(jìn)行development 。 那有多容易?
結(jié)論
研究原始發(fā)行插件和jgitflow之間的一些區(qū)別:
- 您不必?fù)?dān)心階段提交。 一切都是本地的,直到您推送。
- 在此過(guò)程中,其他人更改pom.xml不再有問(wèn)題。
- 您的項(xiàng)目?jī)H構(gòu)建一次,從而節(jié)省了發(fā)布時(shí)間。
- 設(shè)置非常容易。 一切都從您的Git配置中選取。
當(dāng)我調(diào)查/撰寫文章時(shí),我發(fā)現(xiàn)了這篇非常有趣的文章,關(guān)于執(zhí)行發(fā)布的另一種方法。 值得閱讀: Axel Fontaine的 http://axelfontaine.com/blog/final-nail.html 。
翻譯自: https://www.javacodegeeks.com/2014/08/maven-git-release.html
git maven 發(fā)布
總結(jié)
以上是生活随笔為你收集整理的git maven 发布_Maven Git发布的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Win7宽带连接错误代码720(win7
- 下一篇: 怎样使set现程变得安全_使不安全变得更