自动构建(CICD)

自动构建(CICD)Docker、Kubernetes的CICD实现思路Jenkins是一个比较流行的持续集成工具GitLab是存储镜像的镜像仓库由客户端将代码push推送到git仓库,gitlab上配置了一个webHook的东西可以触发Jenkins的构建。进入到Jenkins虚线范围内,它所做的事情非常多,从mvn构建代码,对代码进行静态分析,做单元测试,测试通过之后就可以build镜像,镜像构建成功后…

大家好,又见面了,我是你们的朋友全栈君。

Docker、Kubernetes的 CICD实现思路
在这里插入图片描述
Jenkins是一个比较流行的持续集成工具
GitLab是存储镜像的镜像仓库

由客户端将代码push推送到git仓库,gitlab上配置了一个webHook的东西可以触发Jenkins的构建。进入到Jenkins虚线范围内,它所做的事情非常多,从mvn构建代码,对代码进行静态分析,做单元测试,测试通过之后就可以build镜像,镜像构建成功后就把镜像push推送到Harbor镜像仓库中,镜像push推送到镜像仓库后,我们就可以调用kubernetes集群的restAPI更新服务,而后kubernetes接收到了更新的指令,从Harbor镜像仓库pull拉取镜像,从而完成服务的更新与重启,最后我们从客户端来访问kubernetes集群的服务

1.开发从镜像库里获取基础镜像,对应用进行容器化开发;

2.开发提交代码到Gitlab(在Kubernetes中实现Gitlab服务,并通过持久化存储保存用户数据);

3.Gitlab收到代码提交请求后通过webhook触发Jenkins master

4.Jenkins master收到请求后在slave节点中对源码进行打包;

5.在源码打包完成后根据流水线,从Gitlab中获取dockerfile,在slave节点中生成docker images;

6.Docker镜像生成之后上传到Docker 私有仓库harbor;

8.通过Jenkins流水线在Kubernetes测试环境拉取镜像,部署应用;

9.测试成功之后,通过Jenkins流水线在Kubernetes生产环境进行应用的部署上线。

其中build镜像过程还可以细分为两部:

构建可执行的程序包(Java为tar包)
将tar包导入基础镜像(Java程序的基础镜像可以理解为一个包含了JDK的linux系统),其实现可以通过dockerfile导入tar包到基础镜像从而构建为应用镜像,也可以通过openshift的s2i启动一个名为build的pod将tar包的二进制流导入基础镜像然后通过docker commit构建为应用镜像

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135692.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ACL-访问控制列表

    ACL-访问控制列表目录一.概述二.访问控制列表的调用的方向三.策略做好后,在入接口调用和出接口调用的区别四.访问控制列表的处理原则五.访问控制表类型总结一.概述作用:读取三层、四层头部信息,根据预先定义好的规则对流量进行筛选、过滤三层头部信息:源、目的IP四层头部信息:源、目的端口号二.访问控制列表的调用的方向:入:流量将要进入本地路由器,将被本地路由器处理出:流量已经被本地路由器处理,将离开本地路由器三.策略做好后,在入接口调用和出接口..

  • Python 逐行读取txt 文件并生成列表

    前言开始1.载入文件2.读取数据流3.数据处理4.关闭文件前言我们在编写一些自动化脚本的时候,为了方便,经常需要以txt文件作为数据输入,今天就跟大家讨论一下如何对txt文件进行读取并生成对应的列表等程序可操作的数据载体。开始1.载入文件这步就大家比较熟悉,文件操作中最基本的了。因为我们只需要读取文件,并不需要写入文件,所以在这里指定mode=”r”为只读模式(默认)。f=open(“C:/foo.txt”,”r”,encoding=’utf-8′)此时就有了这.

  • 【6】进大厂必须掌握的面试题-Hibernate

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 1.什么是Hibernate Framework? 对象关系映射或对象关系管理(ORM)是将应用程序域模型对象映射到…

  • templete_simple怎么读的意思

    templete_simple怎么读的意思title:templetedate:2017-09-1411:24:58tags:转载于:https://www.cnblogs.com/Jabba93/p/templete.html

    2022年10月23日
  • C++ STL它vector详细解释

    C++ STL它vector详细解释

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号