一、介绍
持续集成:
持续集成Continuous integration,简称CI.软件开发过程中,团队成员编写的代码一般会使用SVN服务器或者GIT进行托管,代码一般每天都会进行上传,此时我们就需要一款软件能够自动定期从SVN或者GIT服务器上检测出代码,进行编译等操作的工具并且可以记录每次运行结果,这一系列的动作称之为集成
Jenkins:
Jenkins是开源的java语言开发的持续集成工具,支持CI(持续集成),CD(持续交付项目)。集成Jenkins可以用于一些测试和项目部署。
特点:
易于安装部署配置:下载war包即可快速实现安装部署,拥有方便的web界面配置管理
消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成测试报告。
分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
丰富的插件支持:支持扩展插件,如git,svn,maven,docker等
二、Jenkins的安装和配置
1、下载jenkins.war包
官网下载地址:https://www.jenkins.io/download/
然后把war包放在一个没有中文的目录下
2、使用指令启动Jenkins服务
java -jar jenkins.war --httpPort=8083 //使用指令要先cd进入war包的目录下
使用指令后会在C盘下C:Users\Dash\.jenkins创建jenkins的目录结构
3、访问
输入localhost:8083
4、输入密码
每次启动服务密码都不一样
1、每次启动时黑窗口都会显示密码
2、按照给的链接找到文件用Notepad++打开
5、安装插件
选择‘安装推荐的插件’ //会因为网络的原因安装失败,如果安装失败,需要重新走一遍安装过程
安装完成后可能会有部分插件安装失败了,如果失败的插件需要使用,那么可以在插件管理器中重新添加
6、点击继续、新手入门 之创建第一个管理员用户
创建好后如果怕忘记可以在war包目录下新建text文件记录管理员账号密码
7、配置jenkins地址
不用改下一步
进入到jenkins首页后就配置完成了
三、新建项目
1、点击新建item
填写任务名称
选择Freestyle porject 点击确定 //当创建后会在C:\Users\lx\.jenkins\jobs 下新建任务文件
点击构建
选择Execute Windows batch command // pytest -v -s E:\workspace\testca
ses\test_classlist.py(绝对路径)
点击运用 --点击保存
Build Now //立即构建
##jobs 当创建后会在C:\Users\lx\.jenkins\jobs 下新建任务文件
##wordspace 用来放源码的空间
##不提倡使用绝对路径,如果要使用相对路径,代码一定要放在wordspace下
2、构建信息
控制台输出 // 构建的信息都在控制台上 (成功的失败的)
四、jenkins 结合 allure使用
1、jenkins上安装allure 插件
(点击Manage Jenkins -- Manage Plugins“管理插件”)
点击可选插件,搜索allure 勾选allure 点击直接安装
安装后不会立即生效,需要重启Jenkins
重启:ctrl +c 停止Jenkins 然后重新运行
java -jar jenkins.war --httpPort=8083
2、配置allure 命令行所在的位置
Manage jenkins -- Global Tool Configuration(全局的工具配置)
选择新增Allure Commandline (注意:取消install)
找到allure的文件位置 //这里有个坑,Everything搜的时候有可能会收不到,那就把搜索
出来的allure文件夹挨个点一遍看到bin文件为准
然后复制文件位置 (E:\Program Files\allure-pytest\allure-2.14.0)到安装目录
取一个别名比如:allure-2.14.0 然后点一下应用
3、配置jdk所在的位置
点击新增jdk //注意:取消install
取一个别名比如:java_home
找到电脑上java_home 所在的位置 //Everything搜索很快 右键选择打开路径即可
D:\Program Files\Java\jdk1.8.0_171
复制到安装目录点击应用 然后保存
五、创建项目 配置allure 报告展示
由于是相对路径需要把代码放到wordspace下
注意:jenkins中新建的项目与代码中的工程名称保持一致
然后新建项目与工程名保持一致
1、点击构建输入指令 (如果有ptest.ini 那么只需要执行pytest)
点击应用
2、点击增加构建后的操作步骤 选择Allure Report(allure 测试报告)
Path 需要的是报告需要的数据 json 所在的路径
打开pytest.ini文件可以看当生成测试报告后会新建一个json文件(这个文件就是报告
所需要的数据)
所以path 只需要输入json即可
然后点击运用--点击保存就完成了
六、Jenkins拉取仓库代码并自动部署
1、安装插件 重启Jenkins
插件管理器中安装maven、Deploy to container、Subversion
Deploy to container 下载失败需要翻墙(私聊我给你发 “现成的”)
选中高级--然后上传(由于不是本身下载安装会有提示,忽略不影响)
安装完事后重启jenkins
2、安装并配置Maven的环境变量
1、安装maven,解压apache-maven 到没有中文的目录下
2、配置环境变量
MAVEN_HOME
D:\Program Files\apache-maven-3.6.2 (解压路径)
3、添加环境变量
path 下 添加 %MAVEN_HOME%\bin
4、验证配置成功了
黑窗口 输入mvn --version
3、修改maven配置文件 settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
在maven的config下有个settings.xml,右键notpad++打开 第161行 有个<mirror>“镜像”的意思
找到它删掉它替换它(阿里云镜像)
4、jenkins配置maven
点击jenkins配置--Global tool configuration
Maven配置:选择Setings file in filesystem
文件路径:settings.xml 的绝对路径
D:\Program Files\apache-maven-3.6.2\conf\settings.xml
两个都这么选
5、jenkins配置maven的环境变量
6、jenkins配置jdk的环境变量
四、3、已经配过了,这就不用配置了
七、创建maven项目
1、新建item 选择构建一个maven项目 点击确定
2、关联源码 --就是关联仓库的URL //
如果出现不能连接仓库
那么点击添加 输入仓库的用户名和密码 ---选择用户
点击应用
3、构建配置
配置打包指令 clean install -Ptest
pom.xml
点击build Goals and options 下输入打包指令clean install -Ptest
点击应用
以上配置非测试配置,如果要配置也是找开发或者运维来做,或者给出文档然后再一步一步的配置
4、手动构建
build new 构建 其实就是把创建maven项目关联仓库的URL里的源码再点击构建时,拉到了本地jenkins的workspace中,我们打的war包也在这里
jenkins会在wordspasce下TestMaven下的target文件夹里生成war包
5、轮询构建
进入项目后 --点击配置---构建触发器,下边有个Poll SCM(这个就叫轮询)
日程表:自行百度
当仓库中的文件发生变化的多少时间后自动触发轮询
八、jenkins打包部署到tomcat上
1、添加tomcat管理员
找到tomcat修改config目录下tomact-users.xml文件,添加管理员
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="admin" password="abc123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
2、配置允许访问操作tomcat的ip网段
\apache-tomcat-8.5.53\webapps\manager\META-INF\context.xml
表示192.168开头的都可以访问
3、启动tomcat startup.bat
4、jenkins上配置构建后的操作