如何基于Docker搭建jenkins集成开发环境?建议收藏

简介: 如何基于Docker搭建jenkins集成开发环境?建议收藏

今日主要与大家分享关于Docker持续集成开发环境的搭建过程。


持续集成是软件开发中一个非常重要的环节,我们都知道持续集成的这种方式,不仅仅是影响软件开发的效率,实际上还会对我们软件开发的流程产生一定的影响。


例如:我们所选择的构建的方式,那么你的应用程序的部署的方式,软件开发与测试需要不断的对应用进行持续构建,这些都会受我们持续集成的构建的方案所影响。

有些人可能会想,持续构建很熟悉基本上也就是基于jenkins,没错jenkins确实是目前持续集成中这种流程也比较常见的一种解决方案,不过我们今天并不是仅仅单纯的讲jenkins,而是想再引入另外一个比较新颖也比较火的概念,也就是docker。


对于热点概念比较熟悉的朋友对docker并不陌生,这几乎是近期最热点的一门技术之一。

那么docker不像jenkins,docker场景应用是非常广泛的。

例如:我们常用的微服务或者容器化部署,实际上都离不开docker或者说都离不开容器。


可能大家在平时的工作中或者学习中对docker也非常感兴趣,想要去应用,但是有些同学可能没有找到这种合适的入手点去试验它,没有找到一种合适的方式去应用它。


我们今天在这里主要与大家分享如何将Docker与持续集成结合起。

来讲讲基于Jenkins+Docker+GIT把这几项结合在一起的配置部署的一种方案,我们想搭建一套能利用jenkins一个传统,同时也是主流的集成构建工具,同时我们又能引入一个Docker轻量级容器部署的方案。

一方面:我们想把传统的持续集成的工具应用好。

另外一方面:我们也可以整合一些热点的技术融合到一起,从而达到提升工作效率的目的。

640.png

不管是docker还jenkins目前在很多的IT企业中应用都非常广泛,jenkins作为一款非常经典的集成发布集成构建的工具,它凭借着自身的这种特别强大的功能,还是得益于它良好的设计。

然后再结合众多的插件,使得jenkins在实际生产过程中几乎能够实现你在工程持续构建的多种内容,而docker目前也是非常火热,作为业内一个最火的容器解决方案之一,将两者结合起来会带来什么样效果呢?

这也是我们今天需要去探索和展现的一些重点,为什么想要将docker与jenkins结合起来,在我们设计的场景里,就是想利用jenkins这种强大的CI工具的特性,我们能够获得这种持续构建的便利,这也是jenkins作为传统的一种应用场景。

但是传统构建的应用场景一般跑在独立的服务器上或者运行在虚拟机里,相对来说还是比较笨重,尽管说我们记住jenkins这样强大的工具,我们最终也能够实现一键部署与自动化环境的搭建执行,但在资源方面的这个开销和管理维护这种复杂度还是会存在一些不如意,那么容器呢它比虚拟机也好或者服务器也好,要轻量得多占用资源又少,部署即快又方面,做事效率高。

如果我们把服务存放在容器中运行,然后我们通过jenkins来把这个工程部署到容器里面,这样我们的服务就能够实现轻量化,这就是我们基于docker来管理我们jenkins的资源然后基于jenkins来创建docker然后来管理这个docker容器。

640.png

环境搭建实现整体流程详解图如下:

640.png

流程详解过程分析:

首先,我们从开发开始将开发完成的代码提交到git服务器之后,版本管理工具我们使用GIT,可以在jenkins中进行工程的构建,通过调用我们的shell Script的方式,触发docker管理镜像和容器的相关操作,然后把我们的工程部署到docker容器中去,然后把这个docker容器作为一个镜像启动起来。


这样等部署完成之后开发与测试就可以通过浏览器等方式来直接访问我们的项目工程,在这整个流程中,除了docker这一部分之外,其它的流程都是一种传统的jenkins部署持续集成构建的一种传统流程,我们在部署与发布基本上都是在jenkins中来完成 。


Docker在这个过程中更多是给我们提供一种支撑,我们在jenkins中执行编译,编译完成之后的工程将代码打包发布到docker里面,然后在docker中运行我们的服务,这所有的过程都是基于jenkins强大的功能来实现的,这所有的流程操作都可以进行跟踪的。

640.png

在我们设计的这个场景里面,我们希望至少需要三类服务器。


首先,是需要提供一台Git服务的服务器,这里可以使用互联网上提供的github等相关版本管理工具服务。


其次,需要一台运行Jenkins服务的服务器(Tomcat)。


再次,一台或若干Docker宿主机报备器主要用来提供服务运行的环境,可以是一台或者多台,主要为用户提供服务运行的环境。


结束语:基于对Docker结合Jenkins的应用今天咱们就讲解到这里,有些同学在公司有接触或者应用过这些技术相对比较容易接受,有些同学可能仅仅只听过没有应用过。

关于Docker的一些基本概念与整理运作流程我们今天就讲到这里,只要大家认真努力阅读上文都能详细理解,如何任何问题欢迎留言。

相关文章
|
20天前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
42 2
|
8天前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
21天前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
46 4
|
26天前
|
API 开发者 容器
DevEco Studio:熟练使用华为提供的集成开发环境DevEco Studio
【10月更文挑战第22天】随着HarmonyOS的普及,华为推出了官方集成开发环境DevEco Studio,以提高开发效率。本文通过开发一款天气应用的案例,详细介绍了如何使用DevEco Studio进行环境搭建、界面设计、数据绑定与交互、调试与运行等步骤,帮助开发者高效完成HarmonyOS应用开发。
134 6
|
29天前
|
监控 jenkins 持续交付
Docker和Jenkins有什么不同
【10月更文挑战第18天】Docker和Jenkins有什么不同
|
1月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
105 1
|
1月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
1月前
|
存储 Ubuntu JavaScript
如何使用Docker优化你的开发环境配置
如何使用Docker优化你的开发环境配置
|
1月前
|
jenkins Java 持续交付
Docker搭建jenkins环境
这篇文章详细介绍了如何利用Docker搭建Jenkins环境,包括拉取Jenkins镜像、配置端口映射及初始化设置的步骤。
148 0
Docker搭建jenkins环境
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
69 0