zl程序教程

您现在的位置是:首页 >  工具

当前栏目

【2023最新教程】用Jenkins+Docker+Maven+Git实现持续集成 (超详细)

2023-09-14 09:11:11 时间

首先介绍一下笔者的练手小项目:基于SpringCloud搭建的,用Docker容器部署,用Git实现代码托管,Jenkins实现持续集成。 好了,废话不多说了,直接进入主题吧。

 

一、Jenkins简介

Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的 软件工具。官方网站:jenkins-ci.org/

Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性;

Jenkins的特点:

易安装:

仅仅一个java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;

易配置:

提供友好的GUI配置界面;

变更支持

Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并 输出到编译输出信息中;

支持永久链接:

用户是通过web来访问Jenkins的,而这些web页面的链接地址都是 永久链接地址,因此,你可以在各种文档中直接使用该链接;

集成E-Mail/RSS/IM:

当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);

JUnit/TestNG测试报告:

也就是用以图表等形式提供详细的测试报表功能;

支持分布式构建:

Jenkins可以把集成构建等工作分发到多台计算机中完成;

文件指纹信息

Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;

支持第三方插件

使得Jenkins变得越来越强大

二、Jenkins的安装

安装JDK(略)

Jenkins的安装需要依赖JDK,安装Jenkins前请务必安装好JDK,并设置好环境变量;

安装Jenkis

linux环境下:

  1. 先下载,输入命令:wget pkg.jenkins.io/redhat/jenk… 或者 访问 pkg.jenkins-ci.org/redhat/ 选择合适的版本下载后上传至linux目录下即可
  2. 安装 输入命令:sudo rpm ‐ivh jenkins-2.226-1.1.noarch.rpm
  3. 修改配置 vim /etc/sysconfig/jenkins
    修改端口和用户 JENKINS_USER="root" JENKINS_PORT="8888"
  4. 启动服务 systemctl start jenkins
  5. 访问
    http://ip:8888
    从/var/lib/jenkins/secrets/initialAdminPassword中获取初始密码串

 

  1. 初始化配置

    等待完成即可;
  2. 安装Git、Maven插件

 

8. 安装完成后,需要配置一下JDK、Maven、Git插件
JDK:

 

Maven:

 

Git:

 

9. 创建任务

 

10. 配置git地址(这里用的是gogs)

 

11. Bulid

 

命令:clean package docker:build ‐DpushImage
此命令会打包并构建镜像push到我们的docker容器中
12.控制台输出日志:

 

看到SUCCESS就代表我们构建镜像成功了!

13. 查看并运行

docker images:查看镜像是否存在?如果存在就运行:docker run -di --name="xxxx" -p 8761:8761 "镜像名称":"版本号"

这样我们就构建并运行起来了!(ps:在以后我们开发项目时,特别是SpringCloud项目,可以运用jenkins+docker实现持续部署、集成,开发效率也会大大提高! )如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......


软件测试学习资源分享

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

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享