更新时间:2024-10-18 GMT+08:00
分享

方案概述

DevOps是一组过程、方法与系统的统称,通过一系列手段来促进开发(应用程序/软件工程)部门与技术运营和质量保障(QA)部门之间的密切沟通、高效协作与整合。通过自动化的软件交付和架构变更流程,让规划、开发、构建、测试、发布、部署、维护都能更快、更频繁、更可靠,保障开发结果的稳定可靠。随着微服务、中台架构的兴起,DevOps重要性日益显著。

方案架构

该方案使用Gitlab和Jenkins来实现容器应用的自动化构建和持续部署,其中Gitlab提供了源码管理和版本控制的功能,而Jenkins则负责进行容器应用的构建和部署。并且为了保证生产环境和测试环境互不影响,该方案使用了两个独立的Kubernetes集群进行高度隔离,分别用于测试环境和生产环境。

以下是从源码编译、镜像构建、应用测试到生产上线的全流程示例:

  1. 首先在Gitlab中创建一个新的Git仓库,并将其与Jenkins进行关联。
  2. 在Jenkins中创建一个新的构建作业,并配置其使用Gitlab的Git仓库。
  3. 在构建作业中,配置编译器和构建参数,以便从Git仓库中获取源代码并进行编译。
  4. 在构建成功后,将编译生成的镜像推送到SWR镜像仓库中。
  5. 在测试环境中,使用Kubernetes集群来部署这个镜像。
  6. 测试通过并经过审批后,将此镜像部署到另一个Kubernetes集群的生产环境中。
图1 方案架构图

方案优势

  • 从代码提交到部署上线,实现全流程自动化,极大提高交付效率。
  • 使用容器化构建应用程序,做到即开即用,可实现低成本复用。
  • 多Kubernetes集群隔离,保证测试、生产环境独立运行、互不影响。

相关文档