Jenkins-Git持续集成配置

本文详细介绍了Jenkins作为持续集成工具的应用,包括与Git的集成、预处理操作、单元测试、Sonar源代码静态检测及自动打包部署流程。通过具体步骤,展示了如何设置Jenkins以实现自动化测试和构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

(1)什么是持续集成

  • 自动检查源代码
  • 自动编译打包
  • 自动发布
  • 自动测试

(2)为什么要持续集成

  • 节约成本
  • 减少人为出错概率
  • 尽早发现问题
  • 降低缺陷进入下一环节的几率

2.Jenkins+Git

和git工具进行集成,对源代码进行静态扫描

过程:

CI1 预编译

触发条件:提交PR后自动触发,任何PR都会触发—>git主动通知jenkins做自动编译

PR自动编译的命名规则:Gitkey+扩展名+PR_FOR_ALL

内容:单元测试,编译

用途:merge代码的参考依据,检查待提交代码是否编译通过

CI2 主干代码有变动触发

触发条件:提交到master的PR合并后,自动触发

内容:单元测试,编译,源代码静态检查

CI3 测试前置

触发条件:在Master分支中,由测试人员和研发经理一起判断是否提前转测,再由测试人员手动触发

内容:编译,打包,部署测试环境

可以做到单个功能测试,即测试前置

CI4 回归测试

提交到Release/SIT的PR合并后,由测试人员检查提交的数据库和配置文件是否准备完成并手动触发

内容:单元测试,编译,打包,部署测试环境

3.预处理操作步骤:

①在jenkins中,选择相应项目——New Item,输入名字(命名规则同上)——构建一个自由风格的项目——点击“OK”

②进入配置界面,【General】选择相应的JDK版本——源码管理:Git(要做的相应配置如下图)——点击“保存”——测试一下:点击Jenkins左侧栏的“立即构建”,构建完成后,点击“工作空间”可以看到拉下来的代码

③继续对编译做配置,点击Jenkins左侧栏的“配置”——【构建】点击”增加构建步骤“(因为是maven项目,增加maven构建插件),选择Invoke top-level Maven targets,maven版本选择maven-linux,Goals输入“-U clean compile”(-U检查是否有最新的包,clean删除历史构建,compile只做编译不做打包)——点击“保存”——点击Jenkins左侧栏的“立即构建”测试一下效果

④对自动触发以及构建结果通知到Git做配置,点击“配置”——【源码管理】在Branches to build,去掉master分支(可以达到Git库任意分支的代码的PR都会触发构建)——【构建触发器】选择Poll SCM,日程表置空——【构建后操作】点击“增加构建后操作步骤”,选择Notify Stash Instance(通知存储实例),目的:将构建结果通知到Git——点击“保存”

4.单元测试

  1. 在Jeninks创建一个单元测试的任务,【新建item】,命名规则同上,构建一个自由风格的项目,点击“OK”
  2. JDK和Git库配置同上
  3. 【构建】点击“增加构建步骤”,选择Invoke top-level Maven targets,maven版本选择maven-linux,Goals输入“-U clean test”(执行单元测试)——测试一下:点击“立即构建”,构建完成后,点击“工作空间”——target-surefire-reports里面是单元测试的结果
  4. 为了测试覆盖率:【构建】点击“增加构建步骤”,修改Goals输入“-U clean test”为“-U clean c obertura:c obertura -Dc obertura.report.format=xml”(后面命令要求输出格式为xml)——测试一下:点击“立即构建”,构建完成后,点击“工作空间”——target-site/c obertura-coverage.xml里面是覆盖率测试的结果
  5. 为了展示测试结果,需要用到插件:【构建后操作】点击“增加构建后操作步骤”,选择Publish JUnit test result report,路径 target/surefire/reports*.xml 和 Publish cobertura Coverage Report,路径 **/target/site/c obertura-coverage.xml(从下面复制来的),点击“保存”——测试一下:点击“立即构建”

5.Sonar源代码静态检测

无需配置(Jenkins默认配置好了),一提交到master分支(其他分支不会),就会触发源代码静态检查。

6.自动打包与部署

打包前先确定对哪个工程、哪个GIT库打包,自动部署要知道部署到哪个服务器以及路径。

打包:点击Jenkins左侧栏的“配置”——【构建】点击”增加构建步骤“(因为是maven项目,增加maven构建插件),选择Invoke top-level Maven targets,maven版本选择maven-linux,Goals输入“-U clean package”。点击“立即构建”即可以打包。

部署:先停止相关脚本,再启动脚本(也可以用Secure Shell 或 xshell 操作)

自动部署的配置:jenkins中,配置【增加构建步骤】,选择send files or execute commands over SSH——SSH Server中NAME默认选择第一个SSH-SERVE-1——指定服务器IP即要部署包的服务器——指定工作空间,即服务器下的目录——选择高级,勾选Credentials,填写用户名和密码——然后部署在Transfers下,Source files(war包路径:target/jirareport.war)、Remove profix(去掉文件头,输入:target/)、Remote directory(要部署的目录,比如webapps)、Exec commands中输入脚本:停止脚本

cd ******/shutdown.sh

sleep 5(五秒钟)

启动脚本

cd ******/startup.sh

 

以上,即完成了自动打包、自动部署的配置。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值