设为首页 收藏本站
查看: 1214|回复: 0

[经验分享] Jenkins实现SVN+Maven+Java项目的持续集成

[复制链接]

尚未签到

发表于 2017-6-3 14:12:00 | 显示全部楼层 |阅读模式
  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.5
export PATH=$M2_HOME/bin:$PATH
  注意:maven的conf/settings.xml配置应该是自己项目的,这里也省略了;
  svn直接用yum安装即可:



# yum install svn -y
安装Jenkins插件
  浏览器登录Jenkins,进入插件管理,安装下面三个插件:



Maven Integration plugin
Subversion Plug-in
Publish Over SSH
  同时会有其他依赖的插件安装,若有安装失败的就去http://updates.jenkins-ci.org/download/plugins下载后在“高级”那里上传上来即可;
  都安装完成后重启下Jenkins:



# systemctl restart jenkins
在Jenkins配置jdk/maven/svn
  浏览器登录Jenkins,进入“系统管理” -> “Global Tool Configuration”,配置jdk和maven后保存:
DSC0000.png

DSC0001.png

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

  (填入svn信息)
DSC0003.png

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

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

  (maven参数)
DSC0006.png

  最后点击“保存”按钮,然后会进入这个新建的任务页面,点击“立即构建”试试:
  (第一次构建遇到过报错:SVNAuthenticationException: svn: E170001: Authentication required for 'reps',进到配置里重新选一下svn用户即可)
DSC0007.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:
DSC0008.png

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

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

DSC00011.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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-383233-1-1.html 上篇帖子: Jenkins---第一关:安装 下篇帖子: Centos 6安装 Jenkins
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表