1 概念
- 一个自动构建过程,包括自动编译、分发、部署和测试等;
- 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库;
- 一个持续集成服务器。Jenkins就是一个配置简单和使用方便的持续集成服务器。
Jenkins对于maven工程完整的编译和发布流程如下:
- Jenkins从SVN上拉取代码到指定的编译机器上;
- 在编译机器上触发编译命令或脚本;
- 编译得到的结果文件;
- 把结果文件传到指定的服务器上。
2 安装
从Jenkins官方网站 https://jenkins.io/ 下载最新的war包,在本地安装Java(jdk)的环境以后,在指定路径下直接执行以下语句启动:java -jar jenkins.war
启动完毕,如果遇到端口被占用则执行: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安装成Windows服务启动
在Jenkins的主页中选择 Manager Jenkins,接下来选择 Install as Windows Service
在Installation Directory中选择jenkin的安装路径。这里会默认产生,直接点击Install
点击Yes,然后可以看到Windows服务中添加了Jenkins的服务,并已经设置为自动和启动状态
3 配置
3.1 系统设置
点击系统管理->系统设置,进入如下页面
3.1.1 工作目录
用于设置项目的目录,存放项目的数据,并会给每个项目生成一个Job下的目录。
3.1.2 执行者数量
可以理解为并发量,即Jenkins配置多个项目构建任务,同时执行的最大数量。
3.1.3 生成前的等待时间
构建任务地缓冲时间
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 插件即生效。如遇失败可重试或离线安装。
4 构建
4.1 新建任务
主页:点击“新建”; 项目类型:输入项目名称project,类型选择”构建一个自由风格的软件项目”。
4.1.1 丢弃旧的构建
自动删除构建,不勾选则保留全部构建记录,勾选后可以按照时间和构建个数规则进行自动删除。
4.1.2 关闭构建
默认不关闭。
4.1.3 安静期
构建前的等待时间,默认会读取系统配置的构建前等待时间,如果勾选并且设置对应的时间,则优先读取这个设置。
4.1.4 重复次数
当代码库获取代码失败时重新执行指定的次数。
这里需要注意:使用自定义的工作空间
4.2 源码管理
一般常用的是svn和git这两种源码管理工具。
默认为无,如有则勾选对应的工具,输入URL,在Credentials添加账号密码,在Branches to build中设置需要处理的代码分支。
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 设置构建
4.4.1 执行Windows批处理命令
类似于输入cmd命令,可以再命令行指定调用Python命令执行测试脚本
4.4.2 执行shell
在Linux下执行的脚本命令。
以上都可以新增多个构建,按照顺序执行。
5 运行构建任务
点击“立即构建”
点击“控制台输出”,查看失败的日志。