2013年4月25日星期四

使用Git(GitLab)和Maven向Nexus发布Release

前置工具

Git配合GitLab;使用Nexus Sonatype管理本地maven仓库。

Maven主要命令

mvn release:prepare #设定本次版本信息和接下来的开发版本信息,并准备提交用到的一些jar文件。
mvn release:prepare -Dresume=false #重新开始prepare操作,忽略之前的release设置
mvn release:perform #发布release到maven仓库

Maven主要配置

<scm>
   <connection>scm:git:git@serverIp:root/project.git</connection>
   <url>scm:git:git@serverIp:root/project.git</url>
   <developerConnection>scm:git:git@serverIp:root/project.git</developerConnection>
</scm>
<plugins>
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-release-plugin</artifactId>
       <version>2.1</version>
    </plugin>
</plugins>
如果release中报Source files encoding not set的错误,还需要增加encoding的设置:
<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

Git主要命令

git tag #查看本地的tag,release后会增加一个tag
git tag -d {tag_name} #删除tag
git push origin:refs/tags/{tag_name} #删除远程tag,先删除本地,在push到远端

Release成功后

GitLab上可以看到增加了一个xxx-1.0的tag。
本地代码的pom文件版本已经更新至下一版本,例如1.1-SNAPSHOT

没有评论:

发表评论