java的svn插件maver_Jenkins实现SVN+Maven+Java项目的持续集成

Jenkins 2.46.1

Centos 7.3

JDK 7

安装jdk/maven/svn

在Jenkins所在的Linux机器安装jdk和maven,步骤就不说了,下面是环境变量:

export JAVA_HOME=/usr/local/jdk1.7.0_65

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

export M2_HOME=/usr/local/apache-maven-3.0.5export PATH=$M2_HOME/bin:$PATH

注意:maven的conf/settings.xml配置应该是自己项目的,这里也省略了;

svn直接用yum安装即可:

# yum install svn -y

安装Jenkins插件

浏览器登录Jenkins,进入插件管理,安装下面三个插件:

Maven Integration plugin

Subversion Plug-inPublish Over SSH

同时会有其他依赖的插件安装,若有安装失败的就去http://updates.jenkins-ci.org/download/plugins下载后在“高级”那里上传上来即可;

都安装完成后重启下Jenkins:

# systemctl restart jenkins

在Jenkins配置jdk/maven/svn

浏览器登录Jenkins,进入“系统管理” -> “Global Tool Configuration”,配置jdk和maven后保存:

d77fddb10c66eaf9d6729f8782597690.png

382f977063ffdc44644c1c6b9898f67a.png

下面创建一个maven类型的任务(job):

4b24d2149b34744bcdcfa70faad6f8e0.png

(填入svn信息)

5cafbafa311ed0013fa5a6edb95664c6.png

(添加svn用户:输入username和password即可)

3d2ddfbfb85576e71fca7548b6bba09d.png

(构建触发器,H/5 * * * * 表示每5分钟检查一次,如果svn有更新就进行一次构建)

bd8ef83db2099055203b6e64820fdfd6.png

(maven参数)

27b7b01d2a91092ca28cba2e536f45de.png

最后点击“保存”按钮,然后会进入这个新建的任务页面,点击“立即构建”试试:

(第一次构建遇到过报错:SVNAuthenticationException: svn: E170001: Authentication required for 'reps',进到配置里重新选一下svn用户即可)

f86dbbaa99a68f705c5ec110ef973ddf.png

自动部署

自动检测svn并构建仍然不够,还需要自动部署和重启;

首先需要配置Jenkins所在Linux到部署Linux的免密登录,假设两者ip分别为192.168.1.111和112,则在111上执行命令:

(命令1有交互按自己的需求填写,简单的就全部直接回车)

(命令2需要输入112的root密码)

# ssh-keygen -t rsa

#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.112

接着在浏览器,进入“系统管理” -> “系统设置”,配置SSH:

b3aa0b5e8f06e8bb263ff9c5b067ceb3.png

然后再这个SSH配置的下方增加112机器的配置:

1ed62436ec2402cc3c41c651e0cf8a73.png

下面进入前面新建的任务的配置中,在“增加构建后操作步骤”中选择“Send build artifacts over SSH”:

f7957956d02d125bbede20584a0fb7fc.png

2d17b7b608b5dcf3a81f10fed7895d96.png

强调一,目标文件,这里是任务路径下的相对路径,与浏览器中任务的工作空间看到的路径一致;

强调二,传输到目标路径,这个是“系统设置”中那个“远程工作目录”的相对路径,比如这里就是把file.zip传到/usr/local/assembly/;

保存后再次构建,构建完成后,在112机器上检查:

# ll /usr/local/assembly/file.zip

-rw-r--r-- 1 root root 25052989 Apr 15 15:53 /usr/local/assembly/file.zip

实现的效果:对这个maven工程,每五分钟检测svn,若有提交则构建并更新和重启;

over

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值