Jenkins配置自动化构建
转自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html
Jenkins 简介和安装(一)
(2014-12-02 21:18:13)
4.Jenkins在window下的默认工作空间用户的目录下.jenkins,一般情况下我们需要自己更改一下,因为放在默认路径有些不方便,这个可以根据习好确认,我这里更改为D:\Jenkins\Jenkins。
5.此时我们主目录配置成功,系统管理->系统配置->主目录,如下图显示
我这里主要采用Jenkins 构建maven2/3项目,因为我们目前的开发语言采用的是java,而打包工具采用的maven,所以以下我配置的项目均采用的是maven2/3项目,构建Maven项目时,首先我们需要安装配置外围环境maven
1.maven环境安装,由于maven的环境配置比较简单,之前的博客也说过此处不在详解
2.Jenkins中配置maven的环境变量,Jenkins中配置环境变量的时,如果你没有安装maven可以直接安装,如果你安装maven,那么只要设置环境变量即可
如果环境中没有安装maven只要勾选自动安装,即可安装,在安装的过程中你可以选择安装的版本,而且有时候构建的项目中的maven版本不同,我们可以设置多个maven环境,只要点击新增maven即可配置
3.配置好maven以后,我们下面要配置maven的配置文件,其实这里分为局部和全局配置文件,如果你安装的maven保持默认,那么这里设置保持默认即可,如果你的maven的配置文件变更只要选择"Settings
file in filesystem",指定setting文件的位置即可。
4.此时我们要配置我们的最重要的东西jdk,他的配置跟maven的配置一样,只要指定jdk的环境变量即可,同时jdk也可以指定多个版本
目前为止我们把所以的外网环境均配置完成,熟话说磨刀不误砍柴。
5.新建maven2/3项目,输入项目的名称demo,点击OK,此时我们的项目创建完成了,那么我们创建这个项目肯定要做一些什么事情,下面我介绍我们要做的事情
下面我介绍一下Jenkins最简单的功能,获取代码,编译代码,打包,这里我们采用的是SVN作为代码管理服务器,首先我们需要在Jenkins服务器
上安装svn的客户端,并且svn可以自动获取svn服务器的代码,那么这里就有一个权限,只要在Jenkins服务器上验证通过即可,这里我不详细解释
了
6.源代码管理中选择SVN选择(SVN、CVS默认插件已经安装,所以插件在这里不需要安装了),只要在Repository
URL中输入SVN的路径即可,其他的详细我这里不说后面详细解释,这里只给大家解释简单的构建一个项目
7.构建maven项目build这是必须设置的,因为这里不要是对代码打包、编译的一个选项
这样我们这里构建了一个最简单的CI项目,点击保存,即完成了项目的新建工作
8.构建时我们可以点击"立即构建"或者首页的,均可以构建项目,后面我在给大家介绍项目的发布
首先我这里要简单的对sonar有个介绍
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量
通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测,看到这里我们是不是觉得soanr很强大呢,那么我们下来将sonar集成到Jenkins。
sonar的安装和配置请查看我的另一个博客http://blog.sina.com.cn/s/blog_b5fe6b270102v7xj.html
之前我们发布的容器的时候需要安装deploy的插件,那么我们通过sonar做静态检查的时候是否需要安装其他的插件呢,这里必须需要安装,我们需要去管理插件中安装Sonar
Plugin,直接安装即可,如果在线安装失败可以去官方下载。
soanr的插件安装完成我们需要在系统管理->系统设置
配置下soanr的环境变量,我们会发现在系统设置中多出了一项sonar的选项。
我想这个soanr的配置选项有点特别的简单,我这里就不一一说明了,因为我这里soanr不需要与maven集成、以及我的sonar服务器与数据库都在同一台服务器,所以关于后面的选项我们没有添加。
下面我们就可以再我们的项目中采用sonar对项目代码进行静态检查,下面我们进入项目设置中
后面没有标记的选项都是关于maven的,我这里采用了全局配置,这里就不配置了,配置完成点击保存,那么在执行任务的时候,就可以采用soanr进行代
码检查了,那么此时我们已经可以完成的构建一个CI项目了,后续我会给大家详细的介绍一下Jenkins的功能,这里只是给大家做一个快速上手和入门的工
作
之前讲到的是如何构建一个项目,并且将代码进行编译、打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功。在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web项目到远程tomcat。
首先Jenkins提供了一个发布的插件deploy
plugin,来帮助我们实现远程部署,这个插件默认是不安装的,所以需要我们自己手动的来安装。
手动安装deploy plugin 插件,我们可以在线安装,也可以通过官方下载相关插件,下载地址:https://updates.jenkins-ci.org/download/plugins,我这里主要是通过Jenkins在线安装。
1.系统管理->管理插件->可选插件->搜索“Deploy
to container
Plugin”,勾选插件直接安装,等着Jenkins自动安装完成。此时我们打开我们之前新建的项目选择“增加构建后的操作”中增加了一项“Deploy
war/ear to a container",将我们的war和ear工程部署到容器。
2.我们添加一个deploy
war/ear to a container选择,Jenkins中构建后操作多出一个发布选项
WAR/EAR
files:是war包的相对路径
content path:tomcat的发布路径,即使用localhost/(content path设置的名字)来访问项目.
contaners :发布到的容器,主要可发布到tomcat、jboss、GlassFish
deploy on failure:发生错误的时候是否发布到tomcat
3.点击add contaners 添加发布的容器,我们这里要发布到tomcat,所以我这里添加的是tomcat
如果你部署的是集群环境那么可以添加多个容器来部署应用。
此时只要我们运行我们的任务即可将我们的应用发布到tomcat,记住这里要把应用服务器的防火墙关闭。
这里在多说一点tomcat默认的登录是注释的,我们需要打开。
在tomcat/conf/tomcat-users.xml下添加以下代码即可,因为之前的博客讲解过tomcat管理权限的配置,这里就不重复讲解。
之前我们说的都是手动的构建一个项目,我们是不是可以自动的来构建项目那么此时我们需要使用Poll SCM和Build periodically,我们在构建触发中选择这两项即可,其实他们两个就是一个自动任务,这里的语法也是cron的语法,没有什么特别
触发远程构建:触发远程构建
Build after other projects are
built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功、失败、或者不稳定(这个不稳定我这里还木有理解)时候触发项目
Poll
SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。我的配置如下:
*/5 * * * * (每5分钟检查一次源码变化)
Build periodically:周期进行项目构建(它不care源码是否发生变化),我的配置如下:
0 2 * * * (每天2:00 必须build一次源码)
那么是不是有这个就很强大了,不需要我们手动的点击构建了,因为我之前在Microsoft的时候我们的项目都是半夜开始工作,到第二天早晨的时候开发查看结果即可。
有朋友就要说啦,那么我们是不是需要每天都登录上去看构建结果呢,这里我跟大家说,这个不需要,下次我给大家解释Jenkins的邮件发送功能,希望对大家有帮助
jenkins 自带一个邮件的通知的功能,但是自带的邮件通知功能,有点简单不能自定义信息,所以我们安装邮件插件Email-ext plugin。
1.首先在系统管理-插件管理-安装Email-ext plugin
2.系统设置中配置邮件服务器,在系统设置页面找到"邮件通知"的设置发送邮件的服务器,我这里以163邮箱为例如图
设置完成以后,我们点击Test
Configuration,发送测试邮件时候出现失败,这里因为我们首先需要设置一下发送邮件的邮箱账号,这里只是配置邮件服务器地址、账号和密码,但是jenkins不知道采用哪个邮箱去发送,在系统设置页面找到“Jenkins
Location”设置“系统管理员邮件地址”,必须与上图设置的用户保持一致。
此时我们已经把可以发送邮件了,下面我们来配置要发送的内容
3.系统设置中找到Extended E-mail Notification位置配置发送信息,下图是我自己配置的,仅供参考
具体的说明我就不解释了,字面已经说的很清楚了,这样我们就配置好邮件通知了
下面我们根据项目需要来配置发送人,以及触发条件。
4.在构建后的操作添加“Editable Email Notification”
这样jenkins的邮件通知就配置完成了。
使用Jenkins配置自动化构建
收藏:
Jenkins配置自动化构建的更多相关文章
- 使用Jenkins配置自动化构建
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了. 为了实现这个要求,我选择了Jenkins. 从http://mirrors.jenkins-ci.org/windo ...
- 用Jenkins配置自动化构建
公司培训内容 -------------->记一笔 dubbo 微服务soadiamond-server 配置中心kafka rocketmq消息队列cas-server 单点登录spring ...
- gitblit系列七:使用Jenkins配置自动化持续集成构建
1.安装 方法一: 下载jenkin.exe安装文件 下载地址:https://jenkins.io/content/thank-you-downloading-windows-installer/ ...
- Jenkins配置项目构建后的钉钉通知
首先在任意一个钉钉群里创建自定义的钉钉机器人,然后能够看到钉钉开放的webhook 复制webhook Jenkins中安装钉钉插件,然后在项目的配置当中,构建后操作里添加钉钉报警 url一般默认已经 ...
- Jenkins配置项目构建的钉钉通知
在任意一个钉钉群里创建自定义的钉钉机器人,然后能够看到钉钉开放的webhook,复制webhook. Jenkins中安装钉钉插件,然后在项目的配置当中,构建后操作里添加钉钉报警. 安装钉钉通知插件 ...
- 如何用jenkins实现自动化构建新版本和二维码下载
最近公司开发了自己的app,研发过程中对于测试人员来说,经常会像开发的人员询问,有没有最新的包啊(apk打包后的新版本),以免你测试的时候,提交了一些缺陷,实际上人家已经解决了.当然你也可以说你们公司 ...
- 使用Jenkins+gitlab自动化构建时排除分支
我们的目的是gitlab上的代码有变动时会自动向Jenkins发送web钩子请求,触发指定的动作: 但默认情况下,所有分支(如测试环境和预生产)的代码有变动时都会触发,此时可以在Jenkins的项目设 ...
- jenkins配置RF构建结果显示
声明:转载请注明出处,谢谢 步骤1:安装robot framework plugin插件:系统管理-管理插件 步骤2:设置构建后操作:job-配置-构建后操作增加“Publish Robot Fram ...
- Jenkins配置定时构建项目
general: 源码管理: 构建触发器: 构建后操作:
随机推荐
- JMap与JStack
用JMap和JStack做堆dump和线程dump 命令 1. jmap -dump:format=b,file=filename pidjmap -dump:format=b,file=jmap02 ...
- Arcgis ArcMap 10 如何生成msd地图文档定义【 arcgis mxd怎么转换成msd】
.mxd是arcgis 的地图文档后缀名. .msd是arcgis 的地图服务定义文件,是 map service definition 的缩写. 基于 MSD 的服务支持 Maplex.制图表达和新 ...
- 混沌分形之逻辑斯蒂(Logistic)映射系统
前几天,有个同事看到我生成的一幅逻辑斯蒂分岔图像后,问我:“这是咪咪吗?”我回答:“淫者见淫.”好吧,这里将生成几种分岔映射图形,包括逻辑斯蒂映射系统,正弦映射系统和曼德勃罗映射系统.实际上这几种图形 ...
- 解决easyui combobox不能默认选中
开始出现很奇怪的问题,ff没有问题IE8还是会出现不能选中默认项的问题,更改了select.input的方式,数据加载方式也更改为json的方式,未果,最后将datagrid toolbar的初始化放 ...
- tensorflow语义分割api使用(deeplab训练cityscapes)
安装教程:https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/installation.md citysca ...
- 【Java】SAX解析characters 错误截取问题的解决
SAX解析characters 错误截取问题的解决 SAX characters bug_百度搜索 SAX解析characters 错误截取问题的解决 - CSDN博客 [Android]SAX解析之 ...
- 【Scala】Scala多线程-并发实践
Scala多线程-并发实践 scala extends Thread_百度搜索 scala多线程 - 且穷且独立 - 博客园 Scala和并发编程 - Andy Tech Talk - ITeye博客 ...
- Tensorflow-3-使用RNN生成中文小说
https://blog.csdn.net/heisejiuhuche/article/details/73010638 这篇文章不涉及RNN的基本原理,只是从选择数据集开始,到最后生成文本,展示一个 ...
- RefreshListView中onItemClick点击错位
在使用RefreshListView的时候.发现有使用 /**** * parent.getAdapter().getItem(position)√ * adpter.getItem(id);√ * ...
- (纪录片)你必须知道的科学 The Science That You Have To Know (2014)
简介: 类型: 纪录片制片国家/地区: 英国语言: 英语上映日期: 2014-2片长: 150分钟 主要内容: 你有没有认真想过,自己的身体有多奇妙?人体是世间最复杂的一项工程杰作,他也带来了一些非常 ...