多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 配置开始 首先我们进入Jenkins页面中,如下 我们构建一个自由风格的项目,这也是相中用的比较多的 ![](https://img.kancloud.cn/c4/1a/c41a7c790cdcf81be0b4bc84d16298dd_1197x926.png) <br> <br> ## 源码管理 ![](https://img.kancloud.cn/41/cd/41cdd466b505bcd56502ed0d78370d4b_907x829.png) 这里默认是不使用任何原码管理,但是可以使用git或svn来进行原码管理,这里我使用git,操作如下 ![](https://img.kancloud.cn/e2/e1/e2e1efccbe576f4f4c19aea1aafd8790_393x326.png) 首先将github上面的代码路径copy下来然后放入,Repositories URL Repositories URL:存放项目路径 Credentials:如图下,按照自己的实际情况填写 选择Add按钮,添加github账户密码等信息 ![](https://img.kancloud.cn/25/03/2503fdb39496c0aca667cbfab954b213_1438x757.png) 分支默认全在master分支下 <br> <br> ## 触发器说明 ![](https://img.kancloud.cn/ec/ed/eced640b9edff19cdea7ab06c4a43eca_1037x256.png) build whenever a snapshot dependency is built,当job依赖的快照版本被build时,执行本job。 <br> <br> ### 1:触发远程构建 (例如,使用脚本): 这里使用于自动化构建,拼接url后写入代码中可以实现在脚本或者工具执行构建 ![](https://img.kancloud.cn/98/31/98317f1e46bac55325c3cbffde60f3d0_1391x367.png) <br> <br> ### 2:build after other projects are built, 当本job依赖的job被build时,执行本job ![](https://img.kancloud.cn/fd/11/fd1175e04b1d0ca7d49df0f3ba816a8e_1424x266.png) * Trigger only if build is stable:只有在构建稳定时才触发 * Trigger even if the build is unstable:即使构建不稳定,也要触发 * Trigger even if the build fails:即使构建失败,也要触发 <br> <br> ### 3:Build periodically: 定时执行构建任务,不管远程代码分支上的代码是否发生变化,都执行一次构建。 日程表的参数 第一个参数代表的是分钟 minute,取值 0~59; 第二个参数代表的是小时 hour,取值 0~23; 第三个参数代表的是天 day,取值 1~31; 第四个参数代表的是月 month,取值 1~12; 最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。 例如:H 2 \* \* \*      表示每天两点定时执行构建。 ![](https://img.kancloud.cn/61/aa/61aa47eb73eab2c7c1f1b192070fb325_1415x200.png) <br> <br> ### 4:Build when a change is pushed to GitHub: 这个是github项目的触发规则 <br> <br> ### 5:Poll SCM: 设置定时检查代码仓库是否有变更,有变更则构建 例如:H/5 \* \* \* \*     表示每隔五分钟去检查一遍代码仓库,如果代码发生变化则执行构建,否则不构建 ![](https://img.kancloud.cn/1e/d8/1ed8c4fd5dd1b01f6d6f41ff876ea0a8_1407x244.png) ### 6:定时构建语法 ~~~ * * * * * ~~~ 第一个\*表示分钟,取值0~59 第二个\*表示小时,取值0~23 第三个\*表示一个月的第几天,取值1~31 第四个\*表示第几月,取值1~12 第五个\*表示一周中的第几天,取值0~7,其中0和7代表的都是周日 每隔5分钟构建一次 ~~~ H/5 * * * * ~~~ 每两小时构建一次 ~~~ H H/2 * * * ~~~ 每天中午下班前定时构建一次 ~~~ 0 12 * * * ~~~ 每天下午下班前定时构建一次 ~~~ 0 18 * * * ~~~ 每15分钟构建一次:H/15 \* \* \* \* 或\*/5 \* \* \* \* 每天8点构建一次:0 8 \* \* \* 每天8点~17点,两小时构建一次:0 8-17/2 \* \* \* 周一到周五,8点~17点,两小时构建一次:0 8-17/2 \* \* 1-5 每月1号、15号各构建一次,除12月:H H 1,15 1-11 \* \*/5 \* \* \* \* (每5分钟检查一次源码变化) 0 2 \* \* \* (每天2:00 必须build一次源码) <br> <br> ## 构建环境 构建环境就是构建之前的一些准备工作,如指定构建工具(在这里我使用ant)。 ![](https://img.kancloud.cn/85/e0/85e0704c05b64dca3be83d3df09b772f_1189x568.png) **With Ant**:选择这个工具,并指定ant版本和jdk版本。这两个工具的版本我都事先在服务器上安装,并且在jenkins全局工具中配置好了。 <br> <br> ## 构建 ![](https://img.kancloud.cn/de/68/de68e20c4a074ca9e546956925eaebf7_382x250.png) 可以选择的项很多。这里就介绍"Invoke Ant" 和"Execute shell". **Eexcute shell**: 执行shell命令,该工具是针对linux环境的,windows环境也有对应的工            具"Execute Windows batch command"。 在构建之前,可能我们需要执行一些命令,比如压缩包的解压之类的。为了演示,我就简单的执行  "echo $RANDOM" 这样的linux shell下生产随机数命令。 这里我选择使用Eecute shell <br> <br> ## **构建后操作** ![](https://img.kancloud.cn/81/b5/81b5c47115bdef14d891e01d782c6fcd_394x323.png) 构建后操作,就是对project构建完成后的一些后续操作,比如生成相应的代码测试报告。 ![](https://img.kancloud.cn/69/43/694306d3b1faa10bbd7162a733ca56b0_1474x345.png) **Publish Clover PHP Coverage Report**:发布代码覆盖率xml格式的文件报告。路径会在"build.xml"文件中定义 **Publish HTML reports**:发布代码覆盖率的HTML报告。   **Report Crap:** 发布crap报告 **E-mail Notification:** 邮件通知,构建完成后发邮件到指定的邮箱。 **以上配置完成后,点击保存。**