day79 jenkins来历

day79 jenkins来历

今日的学习的目标

  1. jenkins 安装部署
  2. jenkins 插件的导入
  3. jenkins自由风格的任务的创建
  4. jenkins结合gitlab,实现ci,cd 流水线的部署(python)
  5. 开发> gitlab> 测试> 运维
  6. 实现flask代码一键部署到web7机器

1, 代码线上发展历史

代码的发布是每一个企业都要面临的,而且不管是对开发,运维,测试,都是一件非常痛苦的事情,很多每一次发布都是对牛马一次考验

为了条效率,代码线上的方式,方法,工具都在不断地完善,分为以下的几个阶段。

没有jenkins

软件在开发的机器上,通过脚本或者手动的构建,源代码保存在代码服务器中,但是开发的人员要经常修改本地代码,因此每一次的发布都是需要手动的合并,在进行构建,这个过程是费时费力的。

晚上进行构建并进行自动化的测试

问什么要在晚上进行呢?

白天你的业务在跑,用户都在访问。
你不可能让他出现问题,1分钟几万呢。
白天就不可能重启程序,更新代码。
夜里,凌晨通过对日志地分析,你的业务什么的时候业务量最少。
运维的老大,会决定什么时间发布新的版本。
根据业务来 ToB业务,卖软件象MySQL的官网。。。这个就无所谓

重要的是TOC	电商型的业务,说白了就是卖货。

团队对于cicd和自动化测试越来越重视。

无论什么的时候版本管理系统中的代码改变,团队的成员都是可以看见的。

并且,构建的脚本编译时执行一系列的单元测试或者集成的测试。


cide地流水线,

cicd自动化的部署

实现开发写完这个代码,运维的部署,更新上线

这个步骤大公司一天要重复N次,

这个就需要devops工程师,运维自动化的工程师要做的事情,

部署 git + gitlab + jenkins + ansible + shell + (docker | k8s)

ci 持续的集成,持续这个事情,每天要重复很多次

cd持续的部署, 集成(分支的合并,代码合并到线上的概念)

jenkins 来了

jenkins是一个可以扩展的持续化集成的引擎,是一个开源的项目,提供一个开放简单使用的平台,使软件集成变成可能。

伟大构建,无所不能

jenkins是开源ci和cd软件领导先锋,提供了很多的插件,构成部署,自动化,满足任何需求。

不用jenkins怎么的部署

开发人员上传好代码到gitlab的仓库

运维需要手动的下载到linux的服务器上
运维人员手动下载在部署

我们上节部署了gitlab 

现在我们可以通过shell脚本实现
1. 拉取代码
2. 部署环境
3. 运行程序

使用jenkins的部署

posted @ 2025-05-12 14:02  国家一级冲浪yzk  阅读(9)  评论(0)    收藏  举报