前言
上线流程几乎每家公司都会问,每家公司也各个不同,大公司的比较规范,小公司的相对来说比较简单但又繁琐。
正规流程中一次完整的上线,需要前期的测试方案,中期的数据备份及上线方案,后期的上线后测试机回滚机制。
在我们平时做的lamp+wordpress 其实就是一个最基础的手工上线工程,只是这个业务比较简单,代码(wordpress包)已经合格无需测试,后期运行起来即使宕机也不影响业务,所以感觉上没有公司上线的那种紧张氛围而已。
今天我们从上线规范和上线流程来聊聊上线这个问题
上线方案
一个完整的上线方案包括:
-
上线的业务介绍 (知道你上线的是什么)
-
数据备份方案
-
上线时间( 时间定下来方便提前发通知,诸如你见到的网站提醒XX日进行业务升级)
-
相关人员 (开发,运维,测试齐上阵,做好合理分工)
-
上线失败后的回滚方案(回滚是应急方案)
-
上线后的测试(开发人员对系统进行测试,运维人员对系统进行测试和监控)
-
正式完成,进行邮件通知
-
撰写测试报告,项目总结
发布规则补充:
-
发布时间: 一般每周二,周四其中一天的下午5点作为正式版本的上线时间
-
紧急发布: 时间根据实际情况而定,由运维把控品侧
环境规划:
-
开发环境
-
测试环境(功能测试和性能测试)
-
预生产环境(可以用生产环境中的某一个节点来担任)
-
生产环境 : 直接对用户提供服务的环境
线上更新代码
小公司:
线上更新代码:
-
开发人员在个人电脑搭建LAMP进行项目测试,并且在IDC机房测试环境测试通过;
-
代码上线之前需要备份,网站程序出了问题方便回退。 上传代码到服务器的网络临时目录,使用ln做软连接,测试。
代码上线流程图
回答范例
1. 范例一:
-
我们公司所有的代码都需要开发使用git push推送到代码库中,代码库我们使用的是gitlab。
-
代码库中代码一旦更新就会触发钩子函数,然后通知jenkins有新的代码产生,这里我们用的是webhook插件,然后配置对应的触发器。
-
jenkins收到第二步的事件通知之后,会通过gitlab插件从代码块中拉取代码。
-
jenkins把代码拉取下来java源码以后,调用maven插件对源码进行编译
-
jenkins调用ansibel部署项目到目标服务器上进行上线
盗图:(找了很久发现这个图不错)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结:绘上一张Kakfa架构思维大纲脑图(xmind)
其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?
若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理
梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。
-
Kafka入门
-
为什么选择Kafka
-
Kafka的安装、管理和配置
-
Kafka的集群
-
第一个Kafka程序
-
Kafka的生产者
-
Kafka的消费者
-
深入理解Kafka
-
可靠的数据传递
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
55319167)]
[外链图片转存中…(img-OIoVpSz9-1713555319168)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!