本文共 1810 字,大约阅读时间需要 6 分钟。
学习笔记-Jenkins
笔记目录:
一:准备环境
二:启动Jenkins
可以通过java web start(绑定了java jre的技术)方式启动(但这个鬼东西的页面找不到)
换种方式:下载WAR包,通过命令行执行
(备注:也可以将包放入Tomcat的webapps目录下,后话)
官网下载jenkins:
执行命令,然后会提示jenkins需要初始设置,已创建管理员用户并生成密码。
在浏览器打开,输入密码
新手入门那就选新手配置
配置每次启动jenkins的地址:
初始化完成后,做一些基本配置
进入主配置屏幕:
使用本地jdk
使用本地maven
设置git(插件管理)
发现已经安装了
三:第一个Jenkins构建作业
选择自由式项目,它允许配置任何类型的构建作业,而且灵活和容易配置
它是案例项目的默认CI构建
告诉jenkins在哪找到项目的源代码,这里选的是我github分支的URL
要Jenkins监控仓库,有任何更改被提交都会开始构建,这是持续集成环境中建立构建作业常见方式
可以固定时间间隔构建,或手动触发,或在SCM使用"提交后"(post-commit)钩子远程触发构建。
Jenkins时间表使用UNIX的cron语法(需要学习一下UNIX)
cron语法包括以空格分隔的五个字段,分别指分钟(0~59),小时(0~23),月的一天(1-31),月(1~12),周的一天(0~7,0和7是星期日)
*是通配符字符,接受任意有效值,如:
提供范围:* 9-18 * * * *:指每天上午9点到下午6点间的每一分钟
间隔时间:*/10 * * * *:每隔10分钟
接下来配置实际的构建,可将构建作业分解成若干个步骤。
如运行一个Maven构建,这里目标输入的内容,会删除之前所有的构建产物,编译代码,运行单元测试并生成JAR报告
Jenkins的测试报告是JUnit采用的XML格式
在下图输入的内容,当maven在项目中运行单元测试时,它会在目标(target)目录的surefire-reports目录下自动生成XML测试报告
将构建产物归档
保存即可
然后在这页面,可以看到每隔一分钟就会构建一次(5个*),页可以手动构建
在主页可以看到所有的构建作业以及它们的情况
在这S下绿色√表示构建成功,实际上成功/纯蓝色球,黄色/其他类型构建失败,红色/编译失败
引入会导致单元测试失败的代码更改(前面已经配置了jenkins来监视github分支,有修改jenkins应该都能检测),打开文件
比如将*修改为+,提交后,推远程仓库
然后可以看到jenkins,一个新的构建1分钟后触发且运行失败
可以看到哪些测试是失败的以及中断了多久,可以单击失败的测试类,会显示对应的测试失败的实际细节,对问题重现和修复有帮助
然后把问题再修改就行了。
四:显示javadoc
通常情况下这种任务在一个独立的构建作业执行,下面简单的对zuoye1构建作业添加额外的步骤来生成和显示javadoc文档
Retain javadoc for each successful build:保留以前构建的javadoc
在这里路径一直有问题,通过这种方式生成后,改了路径也不行(这个问题先留着,有空再看看)
五:添加代码覆盖率和其他度量(这里有个问题待解决)
直接在这里下,该插件支持Maven和Jenkins开放源代码覆盖率的工具。
也可以在其他地方下了插件在这里安装
或者直接把插件复制到$JENKINS_HOME/plugins
设置代码覆盖率度量
案例项目已经配置了生成XML代码覆盖率报告,在项目pom.xml路径执行mvn cobertura:cobertura即可
我刚开始执行位置错了,导致了报错,而且也不是跑到maven路径下执行,而是在项目里执行
步骤1:以jenkins可以使用的XML格式生成Cobertura覆盖率数据
步骤2:配置jenkins显示覆盖率报告
定义你认可的代码覆盖率的最低接受水平
运行配置了Cobertura报告的构建作业
转载地址:http://zysh.baihongyu.com/