当前位置: 首页 > news >正文

Jenkins 与 Git 的结合使用

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

一、概述

Jenkins 与 Git 的结合使用,可以理解为是 Jenkins 的一个强大之处。为什么要这么说,简要说明一下这个工作模式就能理解: 一个软件项目,开发过程中通常都会使用到一些源码管理工具,来达到团队协作的目的。而 Jenkins 所能实现的功能是,待开发人员将代码提交到源码管理工具中,通过提前设计好的 Jenkins 构建策略等,可以实现一键测试、部署等等。开发人员所要做的就是提交代码至仓库,其余的工作可以交给 Jenkins 完成。

二、具体操作

准备工作:

1、部署 Jenkins 的主机上要安装 Git,安装成功后,可以通过whereis命令获取到 Git 的安装路径。

2、准备好另外一个服务器,Jenkins 将通过节点方式对其实现远程操作。(只使用部署了 Jenkins 这一个服务器进行这个示例也是可行的,即这个服务器即部署了 Jenkins 也“承担”部署软件项目)

3、一个远程的源码仓库。GitHub、GitLab、Gitee 等均可。

4、上传一个 HTML 文件到这个远程仓库(上传至master分支即可)

一个远程的源码仓库并上传一个 HTML 文件

5、在远程服务器中安装好并开启 Tomcat,将通过 Jenkins 将这个 HTML 文件部署至远程服务器的 Tomcat 中。

流程:

流程

注意:上述的操作仅是简单示例,可能会有不合适的地方。

1、通过whereis命令在部署了 Jenkins 的服务器上获取到 Git 的安装路径。在 Jenkins 主页(首页)点击左侧的“系统管理”,再点击“全局工具配置”,进入“全局工具配置”页面:

全局工具配置

2、填写有关 Git 的配置:Name自定义;Path to Git executable为git命令的路径,可以通过whereis git命令得到;“自动安装”不要勾选。配置后保存。

配置 Git

3、新建一个项目(选择“构建一个自由风格的软件项目”即可),进入该项目的配置页面,进行一些常规配置:

常规配置 - 配置构建该项目所要使用的节点

4、进行项目配置中的“源码管理”配置,配置后保存:

源码管理

​源码管理

  • 勾选Git;
  • 输入远程仓库的 URL,注意这个 URL 是 Clone 操作(git clone)所用的那个 URL;
  • 凭据,与创建、配置“节点”时类似,已经添加过就直接选择,没有的话就添加。添加的话一般常用的就是Username with password、SSH Username with private key这两种类型。Username with password就是配置你远程源码仓库的用户名和密码,比如 GitHub 的用户名和密码。SSH Username with private key就是使用密钥对,使用的前提是需要将部署了 Jenkins 的服务器中的密钥对中的公钥($User_home_directory/.ssh/······_pub)配置在远程源码仓库中,然后“凭据”中配置密钥对中的私钥;
  • 指定分支,根据实际情况;

Additional Behaviours:有很多选项供选择,类似于“构建策略”,但一般是执行在“构建策略”之前。这里选择的是“检出到子目录”,作用是从远程仓库拉取代码到本地,作用类似于git clone命令。所以,需要先在远程服务器上建立一个本地仓库目录。

5、保存项目配置,立即构建,先测试是否能从远程仓库拉取代码到本地:

构建后控制台输出

查看本地源码仓库

​上面的图说明,Git 的配置是成功的。

6、编写一个简单的用于部署的 Shell 脚本,重新回到项目的配置中,新增“构建策略”,选择“执行 Shell”,编写一个将这个 HTML 文件拷贝至 Tomcat 中的webapps/jenkins/目录下,重命名为jenkins.html。保存配置:

简单的部署脚本

7、先进行一次构建,一来看看 Shell 脚本是否正常运行,二是看看 HTML 页面的效果,便于与修改后区分:

HTML 页面效果

8、在 Windows 中拉取代码,编辑 HTML,来模拟开发场景,修改后提交再提交至远程仓库:

修改后提交至远程仓库

提交详情

9、再次构建,构建成功后刷新浏览器页面:

执行构建后刷新

综上,便是一个较为完整的 Jenkins 与 Git 结合使用。

三、补充

上述只是简单的示例。现实中,不论是项目复杂程度、部署的环境、部署所编写的脚本等都比示例复杂的多。希望先通过这样简单的示例,了解 Jenkins 可以与 Git 结合使用,并且对 Jenkins 可以自动拉取远程仓库中的代码并且实现部署这种常规操作不再“怀疑”即可。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.jsqmd.com/news/734728/

相关文章:

  • 抖音直播下载终极指南:免费高效工具完整使用教程
  • Windows 11终极优化指南:一键清理系统垃圾的完整解决方案
  • 基于Next.js全栈架构的SoraFlows:AI视频生成Web应用开发实践
  • 2026年昆明5月份优秀美术培训机构前十 - 云南美术头条
  • 车载诊断测试入门:手把手教你用CANoe和Diva搞定第一个自动化测试报告
  • 别再只盯着BCELoss了!PyTorch二分类实战,从Sigmoid到损失计算的完整避坑指南
  • CH32X315 384 路 ADC 高速采集 + USB3.0 实时上传技术方案
  • 瑞芯微(EASY EAI)RV1126B 模型转换教程示例
  • 河北铸铁闸门厂家测评:新河县海禹等3家,不同需求该选谁?
  • 如何获取网页某个元素在「屏幕可见部分」的中心坐标?| 影刀RPA懒加载坐标定位技巧
  • 告别Excel混乱:3个简单步骤搭建你的可视化数据库平台
  • 连续批处理(Continuous Batching)与 Iteration-Level Scheduling —— LLM 推理系统的调度革命
  • 别再只看accuracy了!R语言构建偏见敏感度仪表盘:动态监控KL散度、Equalized Odds差值与Wasserstein距离(含Shiny交互面板)
  • gpt img2指令
  • 2026年AI+智慧运维全场景应用解决方案白皮书
  • 2026智慧药店系统源码趋势:药店APP+小程序开发新方向
  • 20_《智能体微服务架构企业级实战教程》高德地图FastMCP服务之工具类封装
  • 跨境业务场景下利用Taotoken全球直连保障大模型API访问稳定性
  • HyLo:长上下文感知的LLM混合架构升级(Upcycling)方案
  • 连续批处理(Continuous Batching)与迭代级调度——LLM 推理服务的调度革命
  • 混合专家模型(MoE)全景解析——从路由原理到工程推理优化
  • HTML怎么离线使用_HTML缓存策略基础配置【教程】
  • 【HarmonyOS 6.1 全场景实战】开篇词:打造消除“吃饭焦虑”的《灵犀厨房》
  • RPFM v4.4.0:Total War MOD开发的突破性革命,如何让复杂数据编辑变得简单高效?
  • 从‘火星坐标’到‘地球坐标’:一次踩坑记录与Proj4j实战(Java版)
  • 从2D轮廓到3D全景:岩体结构面粗糙度的高精度视觉量化方案
  • Linux RT 调度器的 select_task_rq:RT 任务的CPU选择
  • 书匠策AI:论文界的“魔法编辑”,一键解锁降重降AIGC新姿势!
  • 通过 Taotoken CLI 一键配置开发环境并管理多个 API 密钥
  • TCP 碎片攻击深度剖析:漏洞成因、流量甄别与高防加固实操方案