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:$PATHexport 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后保存:

下面创建一个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

Jenkins实现SVN+Maven+Java项目的持续集成相关推荐

  1. jenkins+git+maven搭建项目自动化持续集成

    2019独角兽企业重金招聘Python工程师标准>>> 1.概要说明 为了开发人员和测试人员的解耦,让开发和测试流程更加便捷,所以采用jenkins+git+maven这套可持续性集 ...

  2. python 持续集成_使用jenkins和Gitlab进行Python项目的持续集成

    一.安装Jenkins 1.1 我的系统环境: Linux: Centos7.6 python: 2.7 java: 1.8 firewall-cmd: not running 1.2 两种方法,推荐 ...

  3. Jenkins+maven+SVN构建java项目中遇到的问题及解决

    Jenkins+maven+SVN构建java项目中遇到的问题及解决 参考文章: (1)Jenkins+maven+SVN构建java项目中遇到的问题及解决 (2)https://www.cnblog ...

  4. 最全的项目部署+持续集成解决方案:Jenkins + git + docker

    1.概述 1.1 什么是持续集成,持续交付 持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干 持续交付/持续部署(Continuo ...

  5. svn增量打包部署_持续集成、持续交付、持续部署(CI/CD)简介

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 概述: 软件开发周期中需要一些 ...

  6. 从服务器基础环境配置到搭建Docker+Gitlab+Gitlab Runner,完整介绍Spring Boot项目的持续集成与持续交付具体实现!

    1. 序言 在大学的课程学习,非常注重团队协作的培养,在企业开发中,团队协作开发项目的场景更是甚多.另外,在当下的热门技术栈中,微服务开发模式.前后端分离开发模式逐渐盛行,Spring Boot.VU ...

  7. 如何为Docker项目创建持续集成持续部署 (CI-CD)解决方案

    目录 目标 发布Release 版本 发布Beta版 总结 我不是Docker高手,但我知道它非常有用,我喜欢在一些项目中时不时地使用它.我喜欢的另一件事是DevOps和自动化,在我拥有的一个项目中, ...

  8. Jenkins+Maven+Git+Tomcat搭建持续集成环境,自动打包部署详细教程

    服务器系统 centOS 8.2 1. 运行环境安装 1.1 安装 jdk 上传安装包,然后解压 [root@ianly ~]# tar -zxvf jdk-8u144-linux-x64.tar.g ...

  9. jenkins maven testng selenium自动化持续集成

    准备环境 首先我们新建一个maven的工程,并且在pom.xml中配置好我们依赖的一些jar包 <dependencies><dependency><groupId> ...

最新文章

  1. 幂运算 数组_Super Pow:如何高效进行模幂运算
  2. 汤家凤高等数学基础手写笔记-无穷级数
  3. 深度学习和目标检测系列教程 14-300:训练第一个 YOLOv3 检测器
  4. 获取目录文件.bat
  5. linux 树状目录代码,Linux tree - 以树状图列出目录的内容
  6. Biztalk 调用带Soap Head WebService的方法
  7. pytesseract识别数字
  8. 电芯知识汇总(转载)
  9. jflash合并bin文件及hex文件
  10. 这将是你看到过最全的pdf预览解决方案
  11. 二叉树的前序序列、中序序列、后序序列、层次序列
  12. Android recovery分区表
  13. 获取路由器内的ADSL上网账号和密码或者获取电脑内的ADSL上网账号和密码教程 by 星空武哥
  14. [总结] Mac 安装Axure 8 闪退
  15. 新一代云数据库的引领者---AWS
  16. 计算机交换机配置实验心得,网络配置实验心得
  17. (收藏)【 数字化客户体验】NPS、CSAT和CES——2020年跟踪的客户满意度指标
  18. python中定义变量有引号和单引号_说说Python 单引号、双引号、三引号的区别?...
  19. 分享一篇超全的 Vue 相关的资源,值得收藏!
  20. 快速学会开发微信小程序教程

热门文章

  1. Go语言的错误异常处理机制及其应用
  2. LeetCode简单题之去掉最低工资和最高工资后的工资平均值
  3. 2020了,还要学JSP嘛?入个门呗!毕竟Servlet亲兄弟~
  4. 毫米波雷达分类和技术方案
  5. YOLOvi(i=1,2,3,4)系列
  6. 2021年大数据Spark(三十二):SparkSQL的External DataSource
  7. Docker核心技术之Docker Compose
  8. [JavaScript] JavaScript 数组挖掘,不只是讲数组哟
  9. [JavaScript] Math里的api
  10. 在PC机上运行的linux系统是,Docker Desktop如何在Windows计算机上运行linux容...