生产发版前准备【经验分享给萌新程序员】

2023-09-21 14:41:35

经验分享

        自从当了码农,已经不知道有多少个日日夜夜熬夜到凌晨三四点了。

        不知道大家有没有想过,生产上线发布新版本到凌晨三、四点都有可能是哪些原因呢?

        下面我将分享下自己以前跟进生产版本发布的经验,经验丰富的老前辈们肯定都比我清楚(可忽略此篇文章~哈哈~)。

        这篇文章可能更适合萌新程序员体质。争取不熬夜工作(只能熬夜玩乐,不能熬夜工作~)

        

目录

     经验分享

      一、网络权限申请

        网络权限申请表

     二、生产脚本准备

      (1)检查脚本

     (2)备份数据脚本

     (3)脚本命名顺序 

      三、配置文件检查

     四、发版评审会议

     五、发版漫长夜准备      

 一、网络权限申请

        需求有时涉及与别的系统有交互,别的系统可能是内部的,也有可能是第三方合作公司的。

        那么权限最好在发版前一天甚至是前一周就申请好。

        因为权限很有可能不是一下就能搞定的,非等到上线当晚解决,很有可能就推迟了下班时间。

        我现在的一个需求,就是8月份上线的会调用第三方的API,到现在网络权限问题都没搞定!(ps:现在的这个需求网络权限不归我负责,这里也不是我申请。但是上家公司是由开发自己写excel提交申请给运维的)

                网络权限申请表

                 示例如下:

需求源IP目标IP目标端口
    
    
    
    
    
    

二、生产脚本准备

        (1)检查脚本

         根据需求的大小,整个开发过程中,可能会设计一些数据库表的增删改。

         因此发版前,一定要检查自己准备的生产脚本,看有无遗漏。

        (2)备份数据脚本

        有些脚本特殊,涉及到修改和删除的表数据,一定要先做好备份,避免出现一些不可挽回的错误。

        (3)脚本命名顺序 

        涉及新建表的、加字段的、或者修改字段类型或长度这些,肯定是先执行DDL脚本。

        其次是DML脚本,DML脚本根据逻辑有的可能不在乎顺序,有的在乎顺序,有的可能要等项目发布了再执行。

        脚本命名示例:

                1_20230101_xx项目_DDL.sql;

                2_20230101_xx项目_DML.sql;

                3_20230101_xx项目_DML_通知后执行.sql;

       脚本里面也可以加一些注释,有的生产脚本是由运维执行的,脚本示例如下:       

-- 第一个执行的脚本 

create table t_test  (
   id varchar2(10) not null primary key,
   name varchar2(200) not null,
   age varchar2(2),
   status char(1) not null
);
--这是第二个执行的脚本,需要第一个DDL脚本执行完毕才能执行此脚本
INSERT INTO t_test(id,name,status) VALUES ('2023010101','张三','1');

三、配置文件检查

        测试环境与生产环境的许多配置项都可能是不一样的,尤其是涉及到URL这些配置。

        很有可能一不注意,就把调测试环境的某个url配置到了生产文件里面。

        因此发版前一定要检查生产配置文件的配置项是否有遗漏,有错误。 

        如果是yml文件,application-prod.yml文件更要比properties文件注意层级。     

四、发版评审会议

       这个会议不是必要的,但是如果是很大的需求,涉及到多个同事或者团队的合作,那么最好提前约一个生产发版评审会议。

      多系统,多人协作,就要明确哪个项目发布在前,哪个项目发布在后。

      发布的时间也要确认,最好不要影响客户或系统用户的操作,避免引发流程bug。

五、发版漫长夜准备      

        O(∩_∩)O哈哈~

        完全不知道发版后,客户要测多久呢 ~

        测试过程中是否会有问题,建议准备好熬夜小零食吧 ~^_^

         

        

         祝大家的发版夜都顺顺利利,不会太晚哦~

更多推荐

Linux下的系统编程——线程同步(十三)

前言:在多线程编程中,如果多个线程同时访问和修改共享资源,可能会产生竞争条件和数据不一致的问题。同步机制用于协调线程之间的访问和操作,确保数据的正确性和一致性。为了避免多个线程同时访问和操作共享资源导致的问题,可以使用互斥锁(mutex)来实现线程的互斥访问。互斥锁可以保证同一时间只有一个线程访问共享资源、条件变量用于

读书笔记:多Transformer的双向编码器表示法(Bert)-2

多Transformer的双向编码器表示法BidirectionalEncoderRepresentationsfromTransformers,即Bert;第2章了解Bert模型(掩码语言模型构建和下句预测)文本嵌入模型Bert,在许多自然语言处理任务上表现优秀,本节主要包括:了解Bert,及与其他嵌入模型的区别;分

Packet Tracer中交换机的配置及Lab2实验

交换机是计算机网络中的一种网络设备,用于在局域网内传输和转发数据包。它具有数据包转发、数据包过滤、VLAN划分和端口管理等功能,能够实现高速、可靠和安全的数据传输,并支持网络的管理和控制。交换机在网络中发挥着连接终端设备和实现数据交换的重要作用。交换机的基本配置模式:模式提示符作用用户模式>只允许用户访问有限量的基本监

【Python基础】S01E03 元组

P01S03元组定义元组元组无法修改定义一个元素的元素修改元组变量方案一:关联新元组方案二:转换为列表列表是可修改的,对于处理网站的用户列表或游戏中的角色列表至关重要。然而我们有时候需要创建一系列不可修改的元素,元组可以满足这种需求。Python中,元组是不可修改的列表,名(tuple);定义元组元组看起来很像列表,但

c++ this指针与空指针调用类方法以及常函数

一、this指针说明1、c++的成员变量与成员内函数是分开存储2、每一个非静态成员函数只会诞生一份函数实例,多个同类型的队形公用的是同一份成员函数的代码3、this指向调用这一份成员函数代码的对象实例4、this是一个隐藏的指向对象实例的一个指针,无需定义直接使用即可作用1、可以区别形参与成员变量(当成员函数的形参与类

CentOS7平台命令安装Anaconda3、配置Python3开发环境

要在CentOS7上安装Anaconda3,您可以按照以下步骤进行操作:1.下载Anaconda3安装包:首先,访问Anaconda官方网站以获取最新版本的Anaconda3安装包的下载链接。可以使用wget命令来下载安装包。请确保选择适用于CentOS7的版本。wgethttps://repo.anaconda.co

1.centos7安装docker

本文目录:1.docker安装1.安装步骤2.安装是否成功校验3.docker加速配置4.helloworld来袭,验证安装是否ok2.卸载docker3.卸载较旧版本docker使用docker必备的三个官方网站:docker官网:https://www.docker.comdocker官方仓库:https://hu

SpringBoot文件上传-阿里云OSS

1.打开阿里云说明:登录阿里云账号2.点击AccessKey管理3.创建AccessKey说明:记得复制accessKeyId,accessKeySecret并保存起来4.点击对象存储OSS5.创建Bucket说明:创建储存桶6.查看SDK示例7.Java简单上传8.上传文件流说明:以上传图片为例9.copy代码说明:

自动化测试(五):自动化测试框架的搭建和基于yaml热加载的测试用例的设计

该部分是对自动化测试专栏前四篇的一个补充,本次参考以下文章实现一个完整的谷歌翻译接口自动化测试:[1]【python小脚本】Yaml配置文件动态加载[2]【python做接口测试的学习记录day8——pytest自动化测试框架之热加载和断言封装】目标:框架封装完成后,不需要写python脚本,只需要增加yaml测试用例

LuatOS-SOC接口文档(air780E)--adc - 数模转换

常量常量类型解释adc.ADC_RANGE_3_6numberair105的ADC分压电阻开启,范围0~3.76Vadc.ADC_RANGE_1_8numberair105的ADC分压电阻关闭,范围0~1.88Vadc.ADC_RANGE_3_8numberair780E开启ADC0,1分压电阻,范围0~3.8Vadc

深度融入垂直行业是物联网未来发展必由之路

三年疫情,打断了很多企业的发展进程。但是疫情已过似乎整个业界生态有了一个很大变化。有一个朋友前一段时间参加深圳电子展后有一个感悟,说的很好:“疫情后有很大变化,疫情后,整个环境状态和疫情前有很大不同。无论企业,个人,还是外部环境,感觉都有变化。这种变化是无形的,但有时又感觉能感同身受。”其实这种感觉,就如人大病初愈或者

热文推荐