博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins实现SVN+Maven+Java项目的持续集成
阅读量:4637 次
发布时间:2019-06-09

本文共 1671 字,大约阅读时间需要 5 分钟。

Jenkins 2.46.1

Centos 7.3

JDK 7

安装jdk/maven/svn

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

export JAVA_HOME=/usr/local/jdk1.7.0_65export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/tools.jarexport PATH=$JAVA_HOME/bin:$PATHexport 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 pluginSubversion 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后保存:

 

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

(填入svn信息)

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

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

(maven参数)

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

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

 自动部署

自动检测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:

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

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

 

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

强调二,传输到目标路径,这个是“系统设置”中那个“远程工作目录”的相对路径,比如这里就是把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

转载于:https://www.cnblogs.com/toSeek/p/6714340.html

你可能感兴趣的文章
MapWinGIS介绍
查看>>
Effective C++ 读书笔记
查看>>
checkbox做全选操作
查看>>
bzoj:1692 [Usaco2007 Dec]队列变换&&1640 [Usaco2007 Nov]Best Cow Line 队列变换
查看>>
poj 2778:DNA Sequence
查看>>
GMA Round 1 双曲线与面积
查看>>
wamp环境下pear的安装和使用
查看>>
IdentityServer4结合AspNetCore.Identity实现登录认证踩坑填坑记录
查看>>
hdu 1251 统计难题
查看>>
tcpdump 抓网卡的数据包
查看>>
旅行社微信电子会员卡系统asp源码
查看>>
我希望四年前就有人告诉我的事情--创业必须知道的事情
查看>>
Dijkstra算法详解
查看>>
马尔可夫方程的解
查看>>
#敏捷个人# 第二批敏捷个人推广者实践团报名
查看>>
敏捷开发本质 与 敏捷个人本质
查看>>
.vimrc
查看>>
Coding源码学习第一部分(AppDelegate.m)
查看>>
VS使用过程中的一些问题
查看>>
极限编程在WEB开发中的作用
查看>>