CICD概念 k8s DevOps
概念
先看下docker官网给的相关文档
Continuous Integration (CI) and Continuous Delivery (CD) methodologies are key traits of a modern software development practice. Docker Enterprise Edition (Docker EE) can be a catalyst for this DevOps mindset, integrating with your preferred tools and existing practices to improve the quality and speed at which innovation is delivered. In our recent webinar, Integrating CI/CD with […]
https://www.docker.com
CI/CD 其实早在很多年前就已经诞生了,主要是为了将频繁的变更测试、构建、交付和部署等进行自动化,减少手工操作。
• CI 持续集成主要是在代码更改时自动分支合并、构建并执行一系列的测试(包括单元测试、集成测试、端到端测试等),确保这些变更不会破坏原来的应用。
• CD 持续交付和部署则是 CI 测试通过之后把构建结果存档、发布到预布环境和生产环境、最后再进行验收测试的过程。
CI/CD 是 DevOps 的基础,CI/CD 侧重于软件开发过程中的自动化,而 Devops 则是侧重于文化构建,旨在减少开发、运维、QA之间的沟通鸿沟,促进快速可靠发布的同时还保证产品质量。
CI/CD 一系列流程通常会组成一个流水线,docker和Kubernetes则可以简化这些流水线中的很多流程,比如Docker容器可以很容易把有冲突的环境隔离开来,而Kubernetes则更进一步简化整个流水线的构建、执行和维护工作。
CI/CD 工具的选择
根据 CNCF 2019 年的调查报告,Jenkins 和 Gitlab 是当之无愧的 CI/CD 工具之首。当然,除此之外,还有很多其他的工具,比如 Spinnaker、Argo、Jenkins X、CircleCI、Github Actions 等等。
这些工具可以分为两类:
• 传统的 CI/CD 工具,典型的是 Jenkins 和 Gitlab,功能强大,配置灵活,使用场景没有限制。
• Kubernetes native 工具,典型的是 Jenkins X 和 Argo,专为 Kubernetes 场景构建,跟 Kubernetes 生态紧密集成,但缺少灵活性。
其实,现在很多所谓的云原生实际上会以 Kubernetes 原生的方式落地,把 Kubernetes 变成整个基础设施的基础。从这个角度来说,我觉得使用 Kubernetes native 的工具实际上是更好的选择,不仅省去了跟 Kubernetes 集成的配置,还可以很容易跟社区内其他的工具打通。
云效DevOps,阿里云提供的,这个不得不说的CIDI国产中比较爽的工具,而且,云效也真的做到的了CICD要做的事,而且,最爽的是,不用个人或者企业部署任何的CICD过程中的任何中间件。个人比较喜欢,中小企业的幸福。
网站:https://devops.aliyun.com/
CICD具体说明
道个图:比较简单的
开发环境:idea eclipse git maven等
代码管理:github gitlab 阿里code 私有代码库
私服管理:自己搭建、阿里云私服库
部署工具:传统的jenkins(用的比较多),阿里云效
Jenkins需要git maven jdk环境插件,webhook,jenkins拉取代码、构建、打包、打镜像、上传包/镜像、执行部署
docker镜像管理:docker hub 、私有化镜像库、阿里库
K8s:资源管理,这个包含了太多了,基本的pod,ingress网络,持久化,pods策略,监控等等
嗯。。。总结下,CICD说白话,就是简化部署流程了,代码提交,中间简化后,直接进入测试环节,不必关心中间环节了。就说这么多把
CICD概念 k8s DevOps相关推荐
- CICD和K8S实战
部署流程 拉取镜像,用docker 部署harbor镜像仓库 harbor是一个docker私有镜像仓库. 1.创建项目 2.创建成员 3.为项目添加成员. 后续是jenkins往harbor上传镜 ...
- DevOps—基本概念
DevOps-基本概念 1. DevOps 2. CI/CD 1. DevOps 维基百科定义: DevOps是一组过程.方法与系统的统称,用于促进 开发.技术运营 和 质量保障(QA) 部门之间的沟 ...
- hualinux 编程概念 3.16:DevOps 详解
目录 前言 一.简介 1.1 管理信条 1.2 一个典型的 IT 组织 1.3 运维人员测挫败感 1.4 基础架构自动化 1.5 DevOps:仅此一次,一颗神奇的银子弹 二. 基础架构即代码 2.1 ...
- 【Kubernetes 企业项目实战】06、基于 Jenkins+K8s 构建 DevOps 自动化运维管理平台(上)
目录 一.k8s 助力 DevOps 在企业落地实践 1.1 传统方式部署项目为什么发布慢,效率低? 1.2 上线一个功能,有多少时间被浪费了? 1.3 如何解决发布慢,效率低的问题呢? 1.4 什么 ...
- 【DevOps】K8s 基础知识
前言 重点学习 k8s 对象 和 工作负载里的控制器 知识来源: 官网:https://kubernetes.io/zh/docs/concepts Kubernetes(k8s)中文教程(半兽人): ...
- 基于Jenkins和k8s构建企业级DevOps容器云平台
1.1 什么是DevOps? DevOps中的Dev是Devlopment(开发),Ops是Operation(运维),用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化.DevO ...
- 【云原生|K8s系列第1篇】:K8s的基础概念、组件架构及实战安装
云原生|K8s系列第1篇目录 1.先从K8s不是什么讲起 2.K8s是什么及核心基础概念 2.1 Container容器 2.2 Pod 2.3 Node 2.4 Label 2.5 Annotati ...
- k8s技术预研2--Kubernetes中的13项重要概念或术语
Node,Pod,Replication Controller,Service等都是k8s中的一种"资源对象",都可以通过工具kubectl执行增.删.改的管理操作.其配置结果是保 ...
- 我们是如何做DevOps的?
一.DevOps的理解 DevOps的概念理解 DevOps 的概念在软件开发行业中逐渐流行起来.越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能.有了 DevOps ,团队可以定期 ...
- 我们是如何实现DevOps的
一.DevOps的理解 DevOps的概念理解 DevOps 的概念在软件开发行业中逐渐流行起来.越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能.有了 DevOps ,团队可以定期 ...
最新文章
- java将从键盘输入的时间格式化_java 时间格式化中的模式字母
- windows linux C/C++获取操作系统、CPU、内存信息、硬盘、IP和MAC
- python matplotlab.pyplot.scatter() 函数的用法
- iOS开发学无止境 - 这样好用的ReactiveCocoa,根本停不下来
- 80x86 CPU 的工作模式
- Python3.6学习笔记(二)
- 数据结构-线性表之单链表
- springboot事物注解不生效_springboot事务不生效的几种解决方案
- 有道精品课数据中台建设实践
- 利用ros3djs接收pointcloud2在web端显示
- 特斯拉遭遇史上最大单季亏损,马斯克放言无人车3个月内横穿美国
- Java50道经典习题-程序7 处理字符串
- Hinton胶囊网络后最新研究:用“在线蒸馏”训练大规模分布式神经网络
- 《概率论与数理统计》(浙大第四版)第四章总结笔记(纯手写)
- 新手如何学习PLC编程?
- 提高自己社会竞争力的书籍
- 《中兴之路》3、神箭震天山——大汉军魂与耿恭的救赎
- 命令执行专题总结突破
- cubemx stm32 afm3000模块 气体流量传感器 驱动代码
- MATLAB中直方图均衡化和线性与非线性增强