点击上图菜单显示详情,点击上图空白处取消选择
本页以 .NET 应用开发者的视角来梳理在以 GitOps 作为开发过程中可能使用到的技术。这里把技术分为两大类,其中过程技术是我们在构建 GitOps 流程时使用到的工具和技术,开发技术则是以 .NET 平台和 C# 语言作为讨论范围。
关于 GitOps 是什么以及它和 DevOps 的关系可以查看文章《从DevOps由来的故事到GitOps》。
对于GitOps流程来说,最重要的两个方面就是 基于Git的源代码管理平台,和 基于Kubernetes的目标部署平台。了解这两个主要对象后,GitOps 的简单理解就是把源代码自动部署到目标平台上的过程,当然其中包含了很多技术细节。
Ⅰ.源代码管理
既然是 GitOps ,源代码管理都是基于 Git 的,这也是目前使用最广泛的源代码管理工具,目前主流的代码托管平台也都是基于 Git 的(你也可以搭建私有的代码托管平台)。
代码托管平台在 GitOps 流程中提供以下功能,
除此之外一些平台也包含了连接到部署环境以提供持续部署的能力。
Ⅱ.部署平台
这里的部署平台特指 Kubernetes 云原生平台,基于这个平台提供的能力我们可以实现 IaC(代码即基础设施 Infrastructure as Code),让我们能够将整个部署以代码的方式保存在源代码中进行管理,并可“一键”同步到 Kubernetes 上,即实现所谓的持续部署/Continuous Deployment。
为了直观的理解整个流程,我制作了一个基于 K3S 的 GitOps 模板项目 k3s-gitops-project-template,以通过实践的方式理解整个过程以及它相对于传统软件开发为整个过程带来的提升。
.NET 作为 .NET Framework 的开源版本目前已经发展到了 .NET 8(2024年)。.NET 可以运行在各个平台上。
.NET 编程技术当然不是这么一个页面能说清楚的,本页只是列出在开发不同应用时所使用的到的.NET技术,以及不同技术的特点和适用场景,关于一些编程技术的内容可前往官方文档或我的知乎专栏 。