使用Jenkins配置+Maven的自动化构建

前言

Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建、自动编译和部署,非常方便。

在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器数量的增加,Jenkins的优势就会凸显出来,可以很好的提高效率,减少很多人工操作。

现在公司的开发都是使用Git管理代码,Maven管理多模块和项目依赖,因此,实现自动化打包,构建迫在眉睫。

安装Jenkins

  1. 安装包
    官方下载地址:https://jenkins.io/download/
    点击进去按照平台对应下载安装即可
    tips: 上有jenkins源,添加如下
  1. Jenkins.war
    直接放在tomcat容器内即可,更加方便(推荐,原因有:简单,跟随tomcat启动发布,减少不必要的开支,坑少,我两种都安装过,直接安装坑不少)

部署Jenkins

按照提示把密文输入即可进入,界面如下:

jdk git maven 配置

Jenkins部署到tomcat

方法一:插件
1.

Poll SCM:定时检查源码变更(根据SCM软件的版本 ),如果有更新就checkout最新code下来,然后执行构建动作。
H/5 * * * * (每5分钟检查一次源码变化)

Build periodically:周期进行项目构建(它不关心源码是否发生变化),如下图配置:
H 2 * * * (每天2:00 必须build一次源码)

在 Schedule 中填写 0 * * * *。

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

所以 0 * * * * 表示的就是每个小时的第 0 分钟执行构建。

构建举例:

??由于项目的代码一般存在放SVN中,而一个SVN往往是有多个项目组在提交代码,而每个项目组又有多人组成,其中每个人也都在对自己的那块代码不停地在进行维护,所以说对于一个公司而言,SVN的提交记录往往是很频繁的,正因为如此,Jenkins在执行自动化构建时往往是以天为单位来执行的,下面举的例子就是在一天中常用的定时构建示例。

??每隔5分钟构建一次

??每两小时构建一次

??每天中午下班前定时构建一次

??每天下午下班前定时构建一次

项目回滚

虽然实现了项目的自动部署,但是有时部署失败的时候我们需要回滚到指定版本的构建,这样才能更灵活的进行项目的构建部署。我们可以选择“参数化的构建过程”进行传递不同的参数来选择是进行新的构建还是回滚
步骤:
1. 构建后存档
在构建后将,构建完成的文件进行存档,方便以后回滚的时候使用

这里写图片描述

分布式部署(暂时不写,不会)

经典 错

1. 错:Solve Git Problem: “tell me who you are” 解决:Enter Git Username and Email ,在Git plugin上添加用户加密码
2. 错:Maven Error: Cannot run program “mvn” 分析:找不到命令,就是Jenkins用户没有使用权,我解决的方式比较low 解决:在maven全局配置的使用自动安转的maven不自定义就OK了

猴急

  1. 我能不能通过一个脚本解决这些事呢还在解决ing
  2. 实际应用中,Jenkins通常都是应用在分布式系统,同时部署多台服务器,一般都是访问Jenkins所在的机器上下载war包来部署
  3. 最下面的BuildSetting 可以设置邮件收件人列表等,在每次构建结束后可以将相关信息发送到邮箱。
  4. 我个人还是比较喜欢参数化构建的,不推荐使用maven插件那些,仅供参考。
  5. 傻瓜式操作,基本上都是在配置那个页面。

参考文章

https://oliverveits.wordpress.com/2017/02/27/jenkins-part-5-1-using-the-job-dsl-for-automatic-creation-of-jenkins-jobs/ 非常 的一篇文章
http://blog.csdn.net/gld824125233/article/details/52549449
http://blog.csdn.net/e295166319/article/details/52920036
http://www.jianshu.com/p/dceaa1c7bb49

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树Java概览Maven基础92610 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年7月24日
下一篇 2017年7月25日

相关推荐