Jenkins 介绍:
Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成
变成可能。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可
以通过安装Java Runtime Environment的任何机器独立运行。
主要用于:
- 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
- 监控一些定时执行的任务。
Jenkins特点:
- 开源免费;
- 跨平台,支持所有的平台;
- master/slave支持分布式的build;
- web形式的可视化的管理页面;
- 安装配置简单;
- tips及时快速的帮助;
- 具有很多个插件
通常项目的发布需要执行下面的步骤,其中红色框中的部分都可以使用Jenkins来完成.
一、安装Jenkins以及创建
官网:https://jenkins.io/ 官方文档:https://jenkins.io/zh/doc/
下载地址:https://jenkins.io/zh/download/
根据自己的系统选中正确的版本进行安装.具体的步骤就省略了,都是根据提示下一步下一步.网上也很多介绍.
安装完成之后点击左边菜单栏 新建Item
选择输入任务名称并选择第一种Freestyle project,
二、General
1.描述
2.策略,每次触发构建都存有相应的记录在这里可以设置记录保存几天,保存记录的个数,避免记录过多占用不必要的空间.
3.Github项目的话可直接填写Github项目的地址
4.这次构建时锁定的资源
5.参数化构建(可选构建是传递的参数,根据参数动态构建,后面会仔细的介绍)
6.截流构建,规定时间内限制构建次数.
7.关闭构建,特殊情况下想关闭这个job,避免发生错误构建时可勾上.
8.并发构建,选中此选项后,可以并行执行此项目的多个构建。默认情况下,一次只执行一个项目的构建——开始构建该项目的任何其他请求都将保留在构建队列中,直到第一个构建完成。
这是一个安全的默认设置,因为项目常常需要对某些资源(如数据库或硬件)进行独占访问。但是启用这个选项后,如果有足够的构建执行者可用来处理这个项目,那么这个项目
的多个构建将并行进行。如果在任何时候都没有足够的执行器可用,那么任何进一步的构建请求都将正常地保存在构建队列中。
启用并发构建对于执行冗长测试套件的项目非常有用,因为它允许每个构建包含更少的更改,而总周转时间会减少,因为后续构建不需要等待以前的测试运行完成。
该特性对于参数化的项目也很有用,这些项目的单个构建执行(取决于使用的参数)可以完全独立于其他项目。
每个并发执行的构建都发生在其自己的构建工作区中,与任何其他构建隔离。默认情况下,Jenkins将“@”附加到工作空间目录名,例如。“@2”。
分隔符“@”可以通过设置hudson.slaves来更改。在启动Jenkins时,WorkspaceList Java系统属性。例如,“hudson.slaves。将分隔符改为连字符。
有关设置系统属性的更多信息,请参见wiki页面。
但是,如果您启用了Use custom workspace选项,那么所有构建都将在同一个工作区中执行。因此需要谨慎,因为多个构建可能会同时改变同一个目录。
三、源码管理
源码管理有三种选择,第一种就不必说了,主要说第二种(Git)和第三种(SVN)
源码管理为Git时
Repository URL : 输入Git的项目地址
Credentials : 点击添加,添加Git的账号密码,保存之后选择刚添加的账号密码
其他配置根据自己实际情况选择,一般默认即可.

Repository URL : 输入svn的项目地址
Credentials : 点击添加,添加svn的账号密码,保存之后选择刚添加的账号密码
其他配置根据自己实际情况选择,一般默认即可.

四、构建触发器
这里只列举常用的几种构建触发器.




若触发报错 Error 403 No valid crumb was included in the request, 则需关掉Jenkins配置中的跨站请求伪造保护.




# 每15分钟触发一次
H/15 * * * *
# 在每个小时的前0-29分钟,每隔10分钟触发一次
H(0-29)/10 * * * *
# 星期一至星期五的9点至16点,每两小时为一个时间段,45分时触发一次
45 9-16/2 * * 1-5
# 星期一至星期五的9点至16点,每两小时触发一次
H H(9-16)/2 * * 1-5
# 除了12月,每个月的1号和15号一天一次
H H 1,15 1-11 *
五、构建环境
默认的有这几种