day79 jenkins来历
day79 jenkins来历
今日的学习的目标
- jenkins 安装部署
- jenkins 插件的导入
- jenkins自由风格的任务的创建
- jenkins结合gitlab,实现ci,cd 流水线的部署(python)
- 开发> gitlab> 测试> 运维
- 实现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的部署

浙公网安备 33010602011771号