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

相关文章
|
1月前
|
前端开发 jenkins 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
61 1
|
4天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
1月前
|
jenkins 网络安全 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
58 3
|
1月前
|
IDE 测试技术 项目管理
集成开发环境(IDE)的使用:提升Visual Basic开发效率的工具和技巧
【4月更文挑战第27天】本文探讨了如何使用Visual Basic IDE提升开发效率,包括理解IDE组件、利用代码编辑器的智能功能、通过界面设计器设计GUI、使用调试和测试工具、有效管理项目与版本控制、掌握快捷键和宏、定制IDE以及利用学习资源。通过充分利用这些工具和技巧,开发者能更快地编写高质量代码,高效管理项目,从而提升整体开发效率。随着IDE的持续发展,开发者应不断学习新特性以适应进步。
|
7天前
|
jenkins Java 持续交付
蓝易云 - 从零开始配置Jenkins与GitLab集成:一步步实现持续集成
以上就是从零开始配置Jenkins与GitLab集成的步骤,希望对你有所帮助。
25 2
|
16天前
|
Cloud Native jenkins Java
使用Jenkins实现持续集成与持续部署
【6月更文挑战第7天】本文介绍了如何使用Jenkins实现持续集成与持续部署,提高软件开发效率和质量。首先,解释了CI/CD的概念,持续集成通过自动化构建和测试减少错误,持续部署则自动将软件部署至生产环境。接着,详细阐述了Jenkins的安装配置、构建项目设置,以及如何通过代码提交触发构建、自动化测试和构建报告。此外,还讨论了Jenkins的持续部署功能,包括配置部署环境、自动化部署和回滚策略。最后,指出Jenkins在DevOps和云原生趋势中的重要角色。
|
18天前
|
安全 jenkins Java
Java一分钟之-Jenkins持续集成服务器
【6月更文挑战第5天】Jenkins是Java开发中的关键工具,用于自动化构建、测试和部署,确保CI/CD。本文概述了Jenkins常见问题及解决方案:安装时注意依赖和网络;谨慎选择并更新插件;正确配置SCM触发器;使用Declarative Pipeline定义清晰的Jenkinsfile;集成JaCoCo和SonarQube确保质量;采用蓝绿部署等策略避免直接在生产环境部署未经验证的代码。理解并解决这些问题能提升Jenkins的效率和可靠性。
32 3
|
18天前
|
jenkins 持续交付 数据安全/隐私保护
树莓派4b通过docker安装部署jenkins
树莓派4b通过docker安装部署jenkins
|
20天前
|
IDE Java 编译器
07. 【Java教程】Java 集成开发环境 - IntelliJ IDEA
07. 【Java教程】Java 集成开发环境 - IntelliJ IDEA
20 1
|
20天前
|
IDE Java 开发工具
06. 【Java教程】Java 集成开发环境 - Eclipse
06. 【Java教程】Java 集成开发环境 - Eclipse
41 1