当前位置: 首页 > news >正文

离线内网环境部署更新问题记录

文章目录

    • 低级错误
      • 错误一 配置文件参数错误
      • 错误二 文件位置错误
    • 新遇到的错误
    • 其他遇到的问题
    • 经验教训

低级错误

错误一 配置文件参数错误

  • 在与现场实施人员沟通时,出现信息错位,实施人员发来的截图里的ip地址不是正在使用的ip地址(机器c重装系统且换了ip地址)
  • 此ip地址需要在docker-compose.yml配置文件里设置,错误的ip地址导致我传输过去的配置文件错误
  • 服务部署可以正常启动(代码配置都没问题),但是应用无法访问。后面看到他的测试访问页面截图,才发现ip不一致,浪费了一两个小时时间

错误二 文件位置错误

  • 有一个文件的位置放错了,打成压缩包发给现场实施人员后,执行结果不符合预期
  • 一开始怀疑是实施人员使用的账户不是root账户,文件权限问题
  • 后来发现确实是自己打压缩包时,有2个文件放错了文件夹
  • 在本地测试时,自己直接拖动文件上传,更新部署启动都没问题,测试也没问题,也就没有发现文件夹路径错误
  • 由于前面进展很顺利,打成整个更新部署压缩包时,就没有对整个压缩包进行测试,导致在实施人员实际部署过程遇到报错,才排查发现该问题,浪费了一两个小时

新遇到的错误

  • 我们微服务和中间件全部使用docker部署,将Spring Boot程序打包成tar包镜像
  • 部署时,按照服务器里的文件目录结构,将需要更新的服务tar包和静态文件按照目录结构放好,再整个打成压缩包交给实施人员
  • 以前是实施人员将压缩包通过U盘拷贝到客户电脑,先解压,再通过传输工具上传到linux系统。为了简化实施人员的操作步骤,将解压这一步放到更新脚本里(直接把整个压缩包上传到linux系统指定文件夹)
  • 前两次更新界面等静态资源,没有遇到问题
  • 上周更新部署后台服务时遇到问题,显示tar包损坏,无效的tar头,无法识别使用Error processing tar file(exit status 1): archive/tar: invalid tar header
  • 在windows系统压缩页面文件、tar包为zip后,在linux里使用unzip解压,出现了tar文件损坏,无法load镜
  • 还是需要在windows Server里先解压,再使用传输根据传输进linux系统

其他遇到的问题

  • 很多客户的机器很老,win7系统,老版本浏览器。而且在内网环境,无法去下载更新浏览器
  • 现有的B/S应用一般只会适配主流浏览器,我们的平台在老版本浏览器里也出现过js加载报错
  • 需要提前准备好一些比较新的浏览器版本的离线安装包,谷歌、火狐、360都可以

经验教训

  • 对于无法联网的部署环境和不是很熟练的实施人员,需要尽可能简化流程,并将更新部署文档写的详细点,多加截图
  • 大多数参数配置都是不变的,对于需要变动的配置,应该和现场实施人员反复确认好,保证一次部署更新成功
  • 现场实施人员,虽然可以协助做一些文件上传和脚本执行的工作,但是对于排错,有点困难,远程视频和拍照都很模糊。由于对开发和linux环境不熟悉,双方配合起来也很麻烦。对于交付给现场实施人员的更新包和更新脚本,不要盲目自信,要在公司模拟相似环境测试一下,实际运行下脚本,查看是否有报错,提前处理掉,保证一次部署更新成功
  • 对于离线内网环境,多准备一些可能用到的软件的离线安装包,尤其是文件上传工具(如winscp)和浏览器
http://www.lryc.cn/news/15360.html

相关文章:

  • 【Git】Git是什么?简单说说Git的工作机制?Git的常用命令有那些?
  • 《精通Spring4.x 企业应用开发实战》第1章 Spring概述
  • 【Spring Cloud Alibaba】003-Nacos 概述与单机搭建
  • 如何使用 API 工具做 Websocket 测试
  • 90%的人都理解错了HTTP中GET与POST的区别
  • 【C++】秋招实习面经汇总篇
  • 干货分享:2023欧美市场分析与机会
  • 介绍Kadence Elements元素模板:按您的方式设计网站
  • 物联网发展的重要通信技术Wi-Fi
  • OSS上传(Java和Js)
  • 【虚拟机】VirtualBox Host-Only + 主机网络共享配置
  • 小公司“混”的3年,我认真做了5件事,真的受益终生
  • Linux Crontab命令定时任务基本语法与操作教程
  • 文档测试要测什么,如何进行测试?
  • .net 6 引入EFCore
  • MySQL------自定义排序
  • FFMPEG自学二 ⾳频编码实战
  • ​一致魔芋在北交所上市:市值突破11亿元,吴平夫妇为实控人​
  • 进程或线程终止是否会释放锁
  • mysql复制表提示某些为null字段无效
  • 【数据库】redis 配置文件与发布订阅
  • ChatGPT来了,英语不能丢,但我不想上班
  • 【LeetCode】二叉树的直径 [E](二叉树)
  • Mybatis框架详解(全)
  • 2023年爆火的csgo搬砖项目详细拆解,steam搬砖长期稳定
  • C语言实现动态管理通讯录信息系统(静态通讯录plus版)
  • 核心技术: springboot 启动类加载时方法执行的几种实现方式, bean声明周期, 启动执行顺序
  • 拒绝背锅:测试项目中的风险管理一定要知道
  • 20-js本地存储
  • ABAP 辨析ON INPUT|REQUEST|CHAIN-INPUT|CHAIN-REQUEST