1 概念

  1. 一个自动构建过程,包括自动编译、分发、部署和测试等;
  2. 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库;
  3. 一个持续集成服务器。Jenkins就是一个配置简单和使用方便的持续集成服务器。

Jenkins对于maven工程完整的编译和发布流程如下:


  1. Jenkins从SVN上拉取代码到指定的编译机器上;
  2. 在编译机器上触发编译命令或脚本;
  3. 编译得到的结果文件;
  4. 把结果文件传到指定的服务器上。

2 安装

从Jenkins官方网站 https://jenkins.io/ 下载最新的war包,在本地安装Java(jdk)的环境以后,在指定路径下直接执行以下语句启动:java -jar jenkins.war

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_Jenkins

启动完毕,如果遇到端口被占用则执行:java -jar jenkins.war --httpPort=1080

可以写一个批处理去启动,新建一个txt文件输入以下命令,并保存为.bat文件


set JENKINS_HOME=d:
cd /d %JENKINS_HOME%
java -jar %JENKINS_HOME%\jenkins.war --httpPort=1080



访问http://localhost:8080,初始化页面如图所示

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_jenkins 批处理 控制台打印_02

解锁Jenkins,根据提示打开指定路径的文件,获取密码,并初始化管理员账户并完成登录。

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_jenkins 批处理 控制台打印_03

 附:将Jenkins安装成Windows服务启动

在Jenkins的主页中选择 Manager Jenkins,接下来选择 Install as Windows Service

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_jenkins 批处理 控制台打印_04

在Installation Directory中选择jenkin的安装路径。这里会默认产生,直接点击Install

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_Jenkins_05

点击Yes,然后可以看到Windows服务中添加了Jenkins的服务,并已经设置为自动和启动状态

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_java_06

3 配置

3.1 系统设置

点击系统管理->系统设置,进入如下页面

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_运维_07

 

3.1.1 工作目录

用于设置项目的目录,存放项目的数据,并会给每个项目生成一个Job下的目录。

3.1.2 执行者数量

可以理解为并发量,即Jenkins配置多个项目构建任务,同时执行的最大数量。

3.1.3 生成前的等待时间

构建任务地缓冲时间

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_jenkins 批处理 控制台打印_08

3.1.4 Jenkins URL

设置用于邮件发送的地址,用来在邮件中产生链接地址,一般配置内网IP和对应端口

3.1.5 系统管理员邮件地址

设置完成构建后发送邮件的发送人的邮箱,与邮件通知对应的邮箱需要一致。

3.2 全局安全设置

默认情况下,任何用户都可以使用 Jenkins 进行发布。

可以进入相关设置:系统管理/Configure Global Security(全局安全配置), 选择Jenkins专有用户数据库,不要选中允许用户注册;选择登录用户可做任何事,选中Allow anoymous read access

3.3 管理插件

3.3.1 离线安装

手工下载(*.hpi): http://updates.jenkins-ci.org/download/plugins/ 
进入:系统管理 / 管理插件 / 高级,然后上传插件进行安装。 
无需重启 Jenkins 插件即生效。

3.3.2 在线安装 

进入:系统管理 / 管理插件 / 可选插件,查找并勾选所需插件,点击“直接安装”。

无需重启 Jenkins 插件即生效。如遇失败可重试或离线安装。

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_Jenkins_09

4 构建

4.1 新建任务

主页:点击“新建”; 项目类型:输入项目名称project,类型选择”构建一个自由风格的软件项目”。

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_Jenkins_10

4.1.1 丢弃旧的构建

自动删除构建,不勾选则保留全部构建记录,勾选后可以按照时间和构建个数规则进行自动删除。

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_运维_11

4.1.2 关闭构建

默认不关闭。

4.1.3 安静期

构建前的等待时间,默认会读取系统配置的构建前等待时间,如果勾选并且设置对应的时间,则优先读取这个设置。

4.1.4 重复次数

当代码库获取代码失败时重新执行指定的次数。

 

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_操作系统_12

这里需要注意:使用自定义的工作空间

4.2 源码管理

一般常用的是svn和git这两种源码管理工具。

默认为无,如有则勾选对应的工具,输入URL,在Credentials添加账号密码,在Branches to build中设置需要处理的代码分支。

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_运维_13

4.3 构建触发器

4.3.1 触发远程构建

需要远程脚本或者命令触发。

4.3.2 其他工程构建后触发

完成某个构建任务之后执行这个构建任务。

4.3.3 定时构建

定时触发构建,可以指定构建时间。

4.3.4 轮询SCM(Poll SCM)

定时检查源代码是否更新,只有更新代码才会触发。与4.3.3都是通过日程表的配置来完成的,日程表需要填入5个数值:分钟、小时、天、月、星期,并通过tabn键间隔。

  • 每20分钟进行构建 20 * * * *
  • 每天10点进行构建 0 10 * * *
  • 每天10点-18点每2小时进行构建 0 10-18/2 * * *
  • 工作日10点-16点每2小时进行构建 0 10-16/2 * * 1-5 

4.4 设置构建

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_Jenkins_14

4.4.1 执行Windows批处理命令

类似于输入cmd命令,可以再命令行指定调用Python命令执行测试脚本

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_操作系统_15

4.4.2 执行shell

在Linux下执行的脚本命令。

以上都可以新增多个构建,按照顺序执行。

5 运行构建任务

点击“立即构建”

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_操作系统_16

点击“控制台输出”,查看失败的日志。

jenkins 批处理 控制台打印 jenkins把控制台输出到文件_jenkins 批处理 控制台打印_17