【云原生-DevOps】企业级DevOps平台搭建及技术选型-CICD篇(一)

简介: 【云原生-DevOps】企业级DevOps平台搭建及技术选型-CICD篇(一)

又是开篇


上一篇文章我们大概分享了DevOps项目管理中怎么企业级搭建

本篇文章主要介绍两个子系统【CICD、效能看板】

CICD系统

image.png


CI(Continuous Integration):指持续集成,它属于开发人员的自动化流程。

持续集成是一种软件开发实践,团队开发成员经常提交代码到代码仓库,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成,且每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误,从而使问题尽早解决。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。虽然持续集成无法消除bug,但却能大大降低修复bug的难度和时间。

CD(Continuous Delivery):指的是持续交付和/或持续部署

通过持续交付,其软件交付流程进一步自动化,以便随时轻松地部署到生成环境中。CD 集中依赖于部署流水线,团队通过流水线自动化测试和部署过程。通过持续交付,可以决定每天,每周,每两周发布一次,这完全可以根据自己的业务进行设置。

image.png

清晰cicd流程图:https://www.processon.com/view/link/63536f66e0b34d081671f08d

CICD开源组件

GitLab【代码仓库】

通过细粒度的访问控制来管理Git存储库,确保您的代码安全。执行代码审查并通过合并请求的实现更紧密的开发协作。每个项目还可以配置议题跟踪和wiki。

官网:https://about.gitlab.com/

企业版本:https://gitlab.cn/

Rest API:https://www.apifox.cn/web/project/406098/

docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

官网:https://www.docker.com/

官网仓库:https://hub.docker.com/

Kubernetes (K8s)【部署】

kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

官网:https://kubernetes.io/zh-cn/

开源地址:https://github.com/kubernetes/kubernetes

Kubesphere

KubeSphere 愿景是打造一个以 Kubernetes 为内核的 云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。 KubeSphere 也是一个多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流

官网:https://kubesphere.io/

开源地址:https://github.com/kubesphere/kubesphere

Rancher

Rancher 是供采用容器的团队使用的完整软件堆栈。它解决了管理多个Kubernetes集群的运营和安全挑战,并为DevOps团队提供用于运行容器化工作负载的集成工具。

官网:https://www.rancher.cn/

开源地址:https://github.com/rancher/rancher

构建打包流水线【Jenkins】

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成

官网:https://www.jenkins.io/zh/

开源地址:https://github.com/jenkinsci/jenkins

代码扫描【SonarQube 】

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。

官网:https://www.sonarqube.org/

开源地址:https://github.com/SonarSource/sonarqube

镜像仓库【Harbor】

Harbor 是一个开源注册表,它使用策略和基于角色的访问控制来保护工件,确保图像被扫描并且没有漏洞,并将图像标记为可信。Harbor 是一个 CNCF 毕业项目,它提供合规性、性能和互操作性,以帮助您跨云原生计算平台(如 Kubernetes 和 Docker)一致且安全地管理工件。

官网:https://goharbor.io/

开源地址:添加链接描述

自动化运维【ansible】

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可

官网:https://www.ansible.com/

开源地址:https://github.com/ansible/ansible

单点登录【casdoor】

支持 OAuth 2.0、OIDC 和 SAML 的 UI 优先集中式身份验证/单点登录 (SSO) 平台,与 Casbin RBAC 和 ABAC 权限管理集成。

官网:https://casdoor.org/zh/

开源地址:https://github.com/casdoor/casdoor

功能列表

凭证管理

Git凭证

支持Git凭证的增删改查,可以支持Git多种授权方式

用户名密码授权、密钥授权、项目令牌授权

image.png


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
110 2
|
4月前
|
运维 Cloud Native Devops
一线实战:运维人少,我们从 0 到 1 实践 DevOps 和云原生
上海经证科技有限公司为有效推进软件项目管理和开发工作,选择了阿里云云效作为 DevOps 解决方案。通过云效,实现了从 0 开始,到现在近百个微服务、数百条流水线与应用交付的全面覆盖,有效支撑了敏捷开发流程。
19378 30
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
231 3
|
3月前
|
运维 Cloud Native Devops
云原生时代的DevOps实践:自动化、持续集成与持续部署
【9月更文挑战第3天】未来,随着人工智能、大数据等技术的不断融入,DevOps实践将更加智能化和自动化。我们将看到更多创新的技术和工具涌现出来,为软件开发和运维带来更多便利和效益。同时,跨团队协作和集成也将得到进一步加强,推动软件开发向更加高效、可靠和灵活的方向发展。
|
4月前
|
运维 监控 安全
构建高效自动化运维系统:DevOps在企业级应用的实现路径
【7月更文挑战第54天】在当今IT领域,DevOps作为一种文化和实践,旨在弥合开发与运维之间的鸿沟,以实现更快速、更可靠的产品交付。本文将深入探讨在企业环境中如何构建一个高效的自动化运维系统,不仅涵盖理论框架,还包括具体实施步骤和最佳实践。通过持续集成(CI)、持续部署(CD)、基础设施即代码(IaC)等关键概念的融合运用,文章旨在为读者提供一个清晰的指导,以便在其组织中落实DevOps策略,并实现运维效率的显著提升。
|
4月前
|
运维 Devops 持续交付
DevOps实践之路:从理论到企业级应用
在数字化浪潮中,DevOps作为一种提升软件开发和运维效率的方法论,正被越来越多的企业采纳。本文通过探讨DevOps的核心理念、关键实践以及在不同规模企业中的应用案例,旨在为读者提供一条清晰的DevOps实践之路。无论你是初涉这一领域的新手,还是寻求进阶的资深人士,这篇文章都将为你打开一扇洞悉DevOps精髓的大门。
102 2
|
5月前
|
运维 监控 安全
DevOps实践:从理论到企业级应用的转化之路
【7月更文挑战第21天】在数字化转型的大潮中,DevOps作为一种提升软件开发与运维效率的方法论,正逐步成为企业IT战略的核心。本文将从DevOps的基本概念出发,深入探讨其在企业级应用中的实践路径,包括文化理念转变、工具链的选择与集成、持续交付的实施步骤以及监控与反馈机制的建立。通过分析成功案例,旨在为读者提供一条清晰的DevOps转型路线图,帮助技术团队和运维人员理解并实施DevOps,以实现快速迭代和高效运营的目标。
|
5月前
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!
|
20天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
18天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。