Maven+nexus+svn部署打包过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven+nexus+svn部署打包过程相关的知识,希望对你有一定的参考价值。

1.软件版本



编号软件版本号
1系统版本Centos7 x64
2Jdk版本1.8.0_111
3Jenkins版本2.20
4Svn版本1.7.14
5Maven3.3.9
6Nexus2.14
7
Jenkinssvn服务器IP192.168.1.30


2.jdk安装(省略)

3.svn安装(省略)

4.nexus安装(如果已有nexus私服,此处步骤可省略)

官网下载最新的nexus安装包:

https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.12.0-01-bundle.tar.gz

. 解压到相应的目录

解压包, 我这边放在/usr/local目录下。

tar -zxvf nexus-2.12.0-01-bundle.tar.gz -C /usr/local/

cd /usr/local

mv nexus-2.12.0-01 nexus

3. 设置为系统服务

这里需要使用root权限,具体请看http://books.sonatype.com/nexus-book/reference/install-sect-service.html

简单如下:

# cd  /etc/init.d

# cp  /usr/local/nexus/bin/nexus ./nexus

# chmod 755 nexus

# chkconfig --add nexus

# chkconfig --levels 345 nexus on

 

4. 编辑/etc/init.d/nexus的文本

4.1. 添加以下变量

RUN_AS_USER=root 

NEXUS_HOME= /usr/local/nexus/

5. 启动服务

# service nexus start

 

具体可以看看附件中的详细的日志!

技术分享

6. 启动之后,可以登录首页查看nexus的界面

http://192.168.1.30:8081/nexus/index.html

默认管理员用户名/密码: admin/admin123

技术分享


5.maven安装

官网下载:

cd /usr/local

http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

tar -zxvf apache-maven-3.3.9-bin.tar.gz

mv apache-maven-3.3.9 maven

配置环境变量:

vim /etc/profile

export PATH=$PATH:/usr/local/zookeeper/bin:/usr/local/maven/bin

source /etc/profile

6.Jenkins安装

安装步骤省略,以下讲配置步骤。

Jenkins插件

菜单路径:系统管理—管理Jenkins—管理插件。

安装以下插件:

1)      Maven Project Plugin

2)      Subversion Plugin

3)      Checkstyle Plugin

4)      Findbugs Plugin

5)      PMD Plugin

6)      Warnings Plugin

Maven工程配置

Jenkins支持两种工程:FreeStyle工程和Maven工程。如果代码是用Maven构造的,可以直接建立Maven工程。

新建一个Maven工程后,需要设置以下条目:

1)设置svn代码的下载路径 

2)设置自动构造的日期 

3)设置pom文件的路径 

4)设置mvn命令的参数 

5)设置post-build的动作

配置JDK参数和maven参数:

回到“系统管理”,点击“Global Tool Configuration”:

 

技术分享

配置JDK路径:

技术分享

配置MAVEN:

技术分享


 


 

配置完成,点击“save”保存完成添加jdk和maven的环境变量配置

7.配置构建一个项目工程

说明,通过使用maven的setting.xml配置文件做为默认程序文件,在setting.xml加入远程私服地址,可以调用远程nexus私服的jar包setting.xml需要加入的配置如下:

<profiles>

<profile>

<id>nexus</id>

<repositories>

<repository>

<id>nexus_private</id>

<name>local private

nexus</name>

<url>http://192.168.1.30:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>nexus_private</id>

<name>local private nexus</name>

<url>http://192.168.1.30:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

</profile>

</profiles>

在jenkins上的配置为回到“系统管理”,点击“Global Tool Configuration”:

在“Maven Configuration” ->> “Default settings provider”选择“Setting file in filesystem”,

然后在“File path”中输入setting.xml的路径:/usr/local/maven/conf/setting.xml

 

技术分享

构建生成的包类型是jar或者war包则由pom.xml文件配置指定

创建一个项目(创建一个自由风格的软件项目):

1)点击“新建”:

技术分享

 

2)输入项目名称,选择“构建一个自由风格的软件项目”

技术分享



 

点击OK,生成一个构建项目,并转入配置页面

3)配置项目:

配置自定义目录,如果不想将项目构建到默认的目录下(系统用户创建jenkins时会自动在用户下面创建一个目录workspace用于存放构建的项目,如果使用yum安装,那么会在/var/lib/Jenkins/wokspace下),可以自定义指定自己创建好的目录下:

 技术分享

在源码管理中选择Subversion:

Repository URL 表示项目工程在svn上的地址,即pom.xml所在路径。svn://192.168.1.30/java/bms

在“构建”中选择“Invoke top-level Maven targets”

 技术分享

选择上面配置的maven环境变量

填入svn地址同级目录下的pom.xml文件,在 “Goals”上输入maven需要执行的命令“clean package spring-boot:repackage”(此打包命令根据开发人员需求配置,可以询问开发人员),然后点击“高级”,出现隐藏的配置:

 技术分享

如果需要在构建完成后进行其他操作,。比如执行shell命令,可以在“构建”选项中选择“executec shell”,

 技术分享技术分享

 

添加完成,点击“save”保存,即可开始构建,点击“立即构建”,即可构建:

 技术分享

点击构建编号,进入构建页面:

 技术分享

如果需要查看构建日志,可点击“Console Output”即可。

 技术分享


构建一个maven项目:

构建maven项目的操作方法与构建自由风格项目不一样的地方有:

 技术分享

配置“构建”时,pom.xml默认出来了,而且构建的工作目录是在此指定。

 技术分享

其他与构建自由风格项目操作一致

8.配置构建一个项目工程(直接使用pom.xml文件构建,私服在远程,此方法不推荐)

需要配置pom.xml文件,添加以下代码:

<repositories>

<repository>

<id>nexus_private</id>

<name>local private

nexus</name>

<url>http://192.168.1.30:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>nexus_private</id>

<name>local private nexus</name>

<url>http://192.168.1.30:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

1)点击“新建”:

 技术分享

2)输入项目名称,选择“构建一个自由风格的软件项目”

 技术分享

点击OK,生成一个构建项目,并转入配置页面

3)配置项目:

配置自定义目录,如果不想将项目构建到默认的目录下(系统用户创建jenkins时会自动在用户下面创建一个目录workspace用于存放构建的项目,如果使用yum安装,那么会在/var/lib/Jenkins/wokspace下),可以自定义指定自己创建好的目录下:

 技术分享

在源码管理中选择Subversion:

Repository URL 表示项目工程在svn上的地址,即pom.xml所在路径。svn://192.168.1.30/java/bms

 

在“构建”中选择“Invoke top-level Maven targets”

 技术分享

选择上面配置的maven环境变量

填入svn地址同级目录下的pom.xml文件,在 “Goals”上输入maven需要执行的命令“clean package spring-boot:repackage”

 技术分享

如果需要在构建完成后进行其他操作,。比如执行shell命令,可以在“构建”选项中选择“executec shell”:

技术分享

技术分享

 

 


以上是关于Maven+nexus+svn部署打包过程的主要内容,如果未能解决你的问题,请参考以下文章

部署Maven与Nexus(私服)

使用 Maven 部署 artifact 到 Nexus 教程

Hudson + SVN + Maven 持续集成实现自动化编译打包部署(over SSH 和 Deploy war/ear to a container 两种部署方式)

Maven与nexus

[转]Maven与nexus

开发过程使用Tomcat Maven插件持续快捷部署Web项目