又是开篇
上一篇文章我们大概分享了DevOps项目管理中怎么企业级搭建
本篇文章主要介绍两个子系统【CICD、效能看板】
CICD系统
CI(Continuous Integration):指持续集成,它属于开发人员的自动化流程。
持续集成是一种软件开发实践,团队开发成员经常提交代码到代码仓库,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成,且每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误,从而使问题尽早解决。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。虽然持续集成无法消除bug,但却能大大降低修复bug的难度和时间。
CD(Continuous Delivery):指的是持续交付和/或持续部署
通过持续交付,其软件交付流程进一步自动化,以便随时轻松地部署到生成环境中。CD 集中依赖于部署流水线,团队通过流水线自动化测试和部署过程。通过持续交付,可以决定每天,每周,每两周发布一次,这完全可以根据自己的业务进行设置。
清晰cicd流程图:https://www.processon.com/view/link/63536f66e0b34d081671f08d
CICD开源组件
GitLab【代码仓库】
通过细粒度的访问控制来管理Git存储库,确保您的代码安全。执行代码审查并通过合并请求的实现更紧密的开发协作。每个项目还可以配置议题跟踪和wiki。
企业版本:https://gitlab.cn/
Rest API:https://www.apifox.cn/web/project/406098/
docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
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://github.com/kubesphere/kubesphere
Rancher
Rancher 是供采用容器的团队使用的完整软件堆栈。它解决了管理多个Kubernetes集群的运营和安全挑战,并为DevOps团队提供用于运行容器化工作负载的集成工具。
开源地址:https://github.com/rancher/rancher
构建打包流水线【Jenkins】
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
开源地址:https://github.com/jenkinsci/jenkins
代码扫描【SonarQube 】
SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。
开源地址:https://github.com/SonarSource/sonarqube
镜像仓库【Harbor】
Harbor 是一个开源注册表,它使用策略和基于角色的访问控制来保护工件,确保图像被扫描并且没有漏洞,并将图像标记为可信。Harbor 是一个 CNCF 毕业项目,它提供合规性、性能和互操作性,以帮助您跨云原生计算平台(如 Kubernetes 和 Docker)一致且安全地管理工件。
开源地址:添加链接描述
自动化运维【ansible】
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可
开源地址:https://github.com/ansible/ansible
单点登录【casdoor】
支持 OAuth 2.0、OIDC 和 SAML 的 UI 优先集中式身份验证/单点登录 (SSO) 平台,与 Casbin RBAC 和 ABAC 权限管理集成。
开源地址:https://github.com/casdoor/casdoor
功能列表
凭证管理
Git凭证
支持Git凭证的增删改查,可以支持Git多种授权方式
用户名密码授权、密钥授权、项目令牌授权