工作总结:上线篇

devtools/2025/2/8 6:14:10/

文章目录

  • 前言
  • 一、上线流程
  • 二、各种问题
    • 流水线问题
      • 1.编译问题
      • 2.单测问题
      • 3.磁盘空间问题
    • 发单问题
    • 上线后的问题
      • 前后端合作的情况
      • 后端项目和后端项目合作的情况
      • 后端项目和小程序合作的情况
      • 自己的项目代码的情况(无任何合作)
      • 发单问题


前言

上线算是我工作中最害怕的事情之一,另外一个事情就是领导叫我(领导有事一般都是给我发消息,不叫我)。上线的过程不亚于参加了一次马拉松,全程心率都很高。但我还是要说,不要过度紧张,保持紧张感就行了。


一、上线流程

上线的整个流程还是很简单的。我们这里上线流程是这样的

1.把已经写好的且经过审查和测试的远程代码分支合并到master,需要看看两个分支的区别是不是这次需要发布的代码。
2.检查master和branch流水线,如果出问题了,先自己看看是什么原因,找不到再去找QA
3.如果master流水线OK,就进行发布
4.在devops平台进行发上线单,通过QA,RD,OP的审查之后,开始执行上线
5.根据上线单,一步步执行上线单,一般都是灰度发布,先发一台,然后在一台机器上再测试现在的代码有没有问题,没有问题再在全部的机器上进行上线
6.执行上线回归测试。

但是每一步都可能会出问题,尤其是,如果你的这个代码,需要跟其他的项目(比如前端,比如需要从其他的后端项目取数据)进行配合,你就放心吧,上线绝对会出问题。

二、各种问题

流水线问题

根据流水线配置不同,会出现各种各样的问题。下面是我遇到问题的一个盘点。

1.编译问题

我遇到两次编译出现问题,这个不用怀疑,一定是代码哪里出现了问题,看看是不是哪里的代码没有给提交上,或者哪里的代码写的有问题给提交上了。

2.单测问题

单测的代码也是代码兄弟。不要不当回事。大公司对代码的单测覆盖率有要求的,所以对单测代码的质量也要保证。不要写垃圾的单测。在每次上传之前,都要保证单测能过。
具体可以看看我写的单测篇。

3.磁盘空间问题

磁盘空间满了流水线就操作不了了,会报对应的bug,这个找QA解决就行了。

发单问题

我们公司上线,是通过发上线单,然后通过执行上线单来上线。这样说可能比较抽象,你可以理解为二次封装的宝塔。对宝塔再进行了一次封装,不用配IP,不用配nginx,不用配https等等。只用点点点就能上线了,配置在我来之前各种配置就已经配置好了。

上线唯一会出现的问题就是,你没有把配置选对,然后上面说审查,但是他们忙的很,看都不看一眼就给你过了。

还有就是OP会拷问你,问你各种问题(我觉得OP谨慎是好事),我一般是答不出来,我就甩给我领导。

上线后的问题

前后端合作的情况

如何是前后端合作的上线,我这里一般是后端先上线,然后前端再上线。前后端分离会出现,我目前遇到的最大的问题就是跨域问题或者说玄学问题。

跨域问题可好解决啦,我们后端只需要配置好跨域请求头就好了,难的是,把跨域请求头配置的都对,但是前端还是有跨域问题。汗流浃背了。这种问题,我只能说你等等,等一会就好了。八成是公司你不知道的地方,哪里有问题。

还有就是,在上线之前,一定一定要跟前端沟通清楚,跟PM沟通清楚。问清楚PM想要的是什么,然后前端把他们的开发文档写完之后,后端也一定要看,我们后端把开发文档写完之后,也一定要发给前端看。不清楚哪里就出问题了。

我后面也会写一篇有关职场沟通的。可以关注一下。

后端项目和后端项目合作的情况

这个标题一看可能会比较抽象,怎么会后端和后端合作呢?简单来说就是,我这个项目需要去其他的后端项目拿数据。

为什么会出现这个情况呢?我们组是一个大的项目,然后领导把一个大的项目拆成了几个小项目。这些项目的部分接口就需要相互配合。

最恶心的是,你对别人负责的项目不熟悉,拿不到想要的数据,就会发生各种各样的情况。

记住,如果需要跟别的后端项目配合,一定要留好时间,别人也在上班,也有事情要做。

我也不知道领导为什么不上微服务。虽然现在的代码跟微服务相比是多了一点,但项目的理解程度会好很多。

后端项目和小程序合作的情况

这种情况,你也要做测试,跟领导要小程序相关的权限,然后做测试。
这种情况其实还好。

自己的项目代码的情况(无任何合作)

这种情况就是求之不得,一般上线自己的代码,跟其他没有依赖的,我到目前上线还没遇到过问题。

发单问题

我们公司如果在发单的时候,配置没选对,可能会把机器上的项目给干下线。

亲身经历。对于这种情况,我只能跟你说尽量选对。不然你要撤销本次发单,然后再重新发单上线,接收OP的拷打。

我脸皮有点薄,不善长跟别人沟通,很讨厌别人拷打我的。


http://www.ppmy.cn/devtools/157027.html

相关文章

部署DeepSeek-R1-Distill-Qwen-7B并进行推理

下载模型文件: 将https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B/tree/main目录下面的所有文件全部下载下来,稍微有点大,所有文件将近16个G 编写代码进行推理 $ more testDS.py from transformers import AutoModelForC…

基于keepalived+GTID半同步主从复制的高可用MySQL集群

文章目录 项目架构图项目名称项目环境项目描述ip地址规划项目步骤一.安装好8台全新的centos7.9的系统,关闭firewalld和selinux,配置每台主机的静态ip地址,设置每台主机对应的主机名。1、关闭firewalld2.关闭seLinux3.配置每台主机静态ip地址4…

测试驱动开发(TDD)实践:从理论到实践

测试驱动开发(Test-Driven Development,简称TDD)是一种软件开发方法,其核心理念是“先写测试,再写代码”。与传统的开发方式不同,TDD并非开发完成后再进行测试,而是将测试置于开发的前沿&#x…

QT通过setProperty设置不同QSS样式

如上切换效果就是通过setProperty来实现切换不同颜色的。 实现以上效果第一步,需要在QSS中做属性处理。 QLabel{color:red;} QLabel[status"1"]{color:black;} QLabel[status"2"]{color:white;} QLabel[status"3"]{color:blue;} QLa…

centos系统清理docker日志文件

在CentOS系统中,Docker日志文件的不断增长可能会占用大量磁盘空间,影响系统性能和正常运行。为了保持系统的健康状态,需要定期清理Docker日志文件。本文将详细介绍如何在CentOS系统上清理Docker日志文件的具体步骤和方法。 Docker日志文件位…

GitHub 使用教程:从入门到进阶

1. GitHub账号注册 访问 GitHub 官网 (https://github.com)点击 “Sign up” 按钮填写用户名、邮箱和密码验证邮箱完成注册 2. 基础配置 2.1 安装Git 访问 Git 官网下载安装包运行安装程序,按提示完成安装打开终端,设置用户信息: git co…

基于知乎平台的“开源AI智能名片2 + 1链动模式S2B2C商城小程序”引流策略研究

摘要:本文聚焦于如何借助知乎平台的高权重及优质用户特性,对“开源AI智能名片2 1链动模式S2B2C商城小程序”进行有效引流。通过深入分析知乎平台的用户特点、引流规则,并结合具体的引流方法,旨在为相关项目在知乎平台实现高效用户…

云计算中的DevOps是什么?为什么它很重要?

是否曾在开发新产品时觉得时间过得飞快,往往在新功能准备好发布之前,系统却已经陷入了运行不稳定的怪圈?或者,感觉开发和运维团队之间总像两座遥远的孤岛,沟通困难,协作不畅,发布一次新版本&…