设计并搭建Python容器化项目的CI/CD流水线

前言

本文的内容主要是为Python容器化项目设计一个CI/CD流水线。这个流水线中涉及到的应用有:Gogs,Jenkins,docker,Harbor,Kubernetes。本文会详细讲解如何安装以上几个应用,以及如何进行必要的设置来使流水线能够完成理想的功能。

一.CI/CD是什么

CI/CD是伴随着DevOps开发模式的兴起而产生的一种开发理念。软件开发模式的发展,从最初的瀑布模型,到后来的敏捷开发,而现在最为前沿的开发模式就是DevOps。

DevOps

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称。DevOps强调重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

DevOps提出了持续集成(Continuous Integration)、持续交付(Continuous Delivery) 、持续部署(Continuous Deployment) 这几个重要的概念。

  • 持续集成的重点是将各个开发人员的工作集合到一个代码仓库中。通常,每天都要进行几次,主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。
  • 持续交付的目的是最小化部署或释放过程中固有的摩擦。它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成代码发布(理想情况下)。
  • 持续部署是一种更高程度的自动化,无论何时对代码进行重大更改,都会自动进行构建/部署。

DevOps的出现让传统的软件开发和交付方法迅速变得过时。从历史上看,在敏捷时代,大多数公司会每月,每季度,每两年甚至每年发布部署/发布软件。然而,现在,在DevOps时代,每周,每天,甚至每天多次是常态。

二.CI/CD流水线中的组件

一个CI/CD流水线至少需要有一个持续集成工具和一个代码仓库,本文介绍的流水线选用Jenkins和Gogs,下文会详细介绍这两个工具的安装和配置。由于项目采用容器化的部署方式,所以还需要安装docker和kubernetes,而Harbor是一款非常好用的镜像仓库,docker和kube

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值