Release版本控制与发布
前言
Maven代码版本控制与发布
提示:以下是本篇文章正文内容,下面案例可供参考
POM中SCM配置
代码工程中添加SCM配置
<scm>
<!--git仓库地址-->
<connection>scm:git:http://具体ip地址/sun/deploy.git</connection>
<!--git仓库浏览器地址-->
<url>http://具体ip地址/sun/deploy/-/tree/master</url>
<tag>HEAD</tag>
</scm>
POM中build配置
build配置如下(示例):
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<!--git tag分支名称格式-->
<tagNameFormat>Deploy@{project.version}-Release</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
</plugins>
</build>
POM中distributionManagement配置
distributionManagement如下(示例):
配置私服仓库地址
<distributionManagement>
<repository>
<id>nexus</id>
<!--release发布版本仓库地址-->
<url>${deploy-project.releases.url}</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<!--snapshot快照仓库地址-->
<url>${deploy-project.snapshots.url}</url>
</snapshotRepository>
</distributionManagement>
mvn deploy
发布快照版本
<modelVersion>4.0.0</modelVersion>
<groupId>cn.sunline.deployA</groupId>
<artifactId>ProjectA</artifactId>
<!--version后面一定要带SNAPSHOT-->
<version>1.5-SNAPSHOT</version>
执行mvn deploy进行发布
mvn deploy
mvn release:prepare
a.把你项目打一个 release版本
b.在git的tag中打一个tag
c. 自动升级 SNAPSHOT 并提交更新后的pom文件到git
例如当前version为1.5-SNAPSHOT,当执行mvn release:prepare时,会在git上面打一个1.5的release版本并打tag,并自动升级SNAPSHOT版本为1.6
(注:一定要把本地代码都提交上去,否则会提示你“Cannot prepare the release because you have local modifications”)
mvn release:perform
a.去git的tag上拿代码
b.用tag上的代码,打一个 release版的 包
c.deploy上你的maven私服
参考地址
https://blog.youkuaiyun.com/u012076316/article/details/52174313