Jenkins详细教程( 二 )


Build after other projects are built: 该选项意思是"在其他projects构建后构建" 。这里不作介绍,后期可能会用到该选项 。
Build periodically: 周期性的构建 。很好理解,就是每隔一段时间进行构建 。日程表类似 linux crontab书写格式 。如下图的设置,表示每隔30分钟进行一次构建 。

Jenkins详细教程

文章插图
周期构建
Build when a change is pushed to GitLab:当有更改push到gitlab代码仓库,即触发构建 。后面会有一个触发构建的地址,一般被称为webhooks 。需要将这个地址配置到gitlab中,webhooks如何配置后面介绍 。这个是常用的构建触发器 。
Poll SCM:该选项是配合上面这个选项使用的 。当代码仓库发生改动,jenkins并不知道 。需要配置这个选项,周期性的去检查代码仓库是否发生改动 。
Jenkins详细教程

文章插图
十分钟检查一次
4.构建环境构建环境就是构建之前的一些准备工作,如指定构建工具(在这里我使用ant) 。
Jenkins详细教程

文章插图
 
With Ant:选择这个工具,并指定ant版本和jdk版本 。这两个工具的版本我都事先在服务器上安装,并且在jenkins全局工具中配置好了 。
其他选项不作介绍,同样可以查看"帮助信息" 获得使用帮助 。
5.构建选择下方的增加构建步骤 。
Jenkins详细教程

文章插图
增加构建步骤
构建环境中的构建工具
可以选择的项很多 。这里就介绍"Invoke Ant" 和"Execute shell".
Eexcute shell: 执行shell命令,该工具是针对linux环境的,windows环境也有对应的工 具"Execute Windows batch command" 。在构建之前,可能我们需要执行一些命令,比如压缩包的解压之类的 。为了演示,我就简单的执行 "echo $RANDOM" 这样的linux shell下生产随机数命令 。
Invoke Ant:Ant是一款java项目构建工具,当然也能用来构建php 。
Jenkins详细教程

文章插图
 
Ant Version: 选择Ant版本 。这个ant版本是安装在jenkins服务器上的版本,并且需要在jenkins"系统工具"中设置好 。
Targets:要执行的操作,一行一个操作任务 。以上图为例,build是构建,tar是打包 。
Build File: 是Ant构建的配置文件,如果不指定,则是在项目路径下的workspace目录中的build.xml 。build.xml文件具体怎么配置,后面再细讲 。
properties: 设定一些变量,这些变量可以在build.xml 中被引用 。
Send files or execute commands over SSH:发送文件到远程主机或执行命令(脚本)
Jenkins详细教程

文章插图
 
Name: SSH Server的名称 。SSH Server可以在jenkins-系统设置中配置 。
source files: 需要发送给远程主机的源文件 。
Remove prefix: 移除前面的路径 。如果不设置这个参数,则远程主机会自动创建构建源 source files 包含的那个路径 。
Remote directory: 远程主机目录 。
Exec command:在远程主机上执行的命令,或者执行的脚本 。
6.构建后操作构建后操作,就是对project构建完成后的一些后续操作,比如生成相应的代码测试报告 。
Jenkins详细教程

文章插图
 

Jenkins详细教程

文章插图
邮件通知
Publish Clover PHP Coverage Report:发布代码覆盖率xml格式的文件报告 。路径会在"build.xml"文件中定义
Publish HTML reports:发布代码覆盖率的HTML报告 。
Report Crap: 发布crap报告 。
E-mail Notification: 邮件通知,构建完成后发邮件到指定的邮箱 。
以上配置完成后,点击保存 。
7.其他相关配置SSH Server配置
登录jenkins -- 系统管理 -- 系统设置
配置请看下图
Jenkins详细教程

文章插图
SSH SERVER
SSH Servers: 由于jenkins服务器公钥文件我已经配置好,所以之后新增SSH Servers 只需要配置这一项即可 。
Name: 自定义,需要全局唯一 。
HostName: 主机名,直接用ip地址即可 。
Username: 新增Server的用户名,这里配置的是root 。
Remote Directory: 远程目录 。jenkins服务器发送文件给新增的server默认是在这个目录 。


推荐阅读