本次项目有幸担当了一次发布员,这也是我今年想尝试的事情之一,因为对于项目过程来说,我设计、开发、测试、联调等等都做了,唯一就是项目发布还是没有践行过,至此,我也算是走通了整个项目流程了。我信奉一个理论:没有做过的事情千万不要说自己会做了。发布过程就不写了,已经写好了发布手册了。
1.准备阶段要充分,你轻视了哪个环节,哪个环节就有可能有问题,要知道发布阶段是大家都在等你,一定不要block在这里。
发布过程有两个问题值得一提:
(1)antx 配置虽然我配置好了以后 同步到本地用文本文件对照过,也一条一条的核实过,只核实有没有少配置什么,但是没有核实auto-conf里面的配置文件是否多了配置,特别是哪种确认阶段要求各个负责人去掉的配置,一定要检查下,这样配置文件就会跳出来让你配置,虽然不会导致什么错误,但是会耽误发布时间。
(2)用存过或PL/SQL初始化的脚本,一定要仔细检查,最好拿线上数据先做测试,这次出了一个这种问题:
在循环里有这样一条语句:
open c_a for select add_months(t.INVOICE_DATE,1) from ***.**** t
where
t.vaccount_id = o_obj.vaccount_id
and (t.STATUS = '0' or t.STATUS = '1' or t.STATUS = '5')
order by INVOICE_DATE asc;
fetch c_a INTO V_OWE_TIME;
我们从业务上分析了都没有问题,但是在debug是发现,如果这个值为null时,他是赋值给INTO V_OWE_TIME,这样导致下次循环时直接就取了前一次循环的值,而如果使用 select into 则是可以赋值为null的。所以循环中一定要对变量初始化
还有一个问题:就是一个字段没有订正,导致消息通知出错。--发布前要整理初始化数据要和各个模块的人确认,凡是增加的修改的字段都要考虑初始化问题。
感悟:
建议能用脚本一步一步写的就用脚本,次之选择存过(存过容易debug),尽量不要用PL/SQL的批量处理,用大家都熟悉的东西,这样才容易review 出来问题,简单的技术是保证发布的要素,包括发布之前把所有的脚本写好,所有的环境放在一起,都是这个目的。
2.有时间检查发布机上的环境,就要检查下。(build机环境是公用的,不能保证所有配置都如你所愿)
这次发布还出现了一个mvn的path没有配置的问题。
解决:
>ll -a /home/admin 下隐藏文件 bash_profile
>修改maven path
>PATH=$PATH:$HOME/bin:/usr/alibaba/maven/bin
3. 发布要保持适当紧张和兴奋,要沉稳,不要被外界环境干扰
发布阶段,不要试图验证发布脚本的正确性,先连续的去发完,不要中断,中间不要和别人探讨技术和原理(否则你可能忘记了发到第几步了),然后再验证。
4. 要细致考虑网络情况,对于合作方只给出ip的要弄清楚原理,是否会定位到某台服务器上,然后telnet 他们提供的服务器。
5.记住发布和预发布的时间点,便于以后核对数据,考虑发布过程中的一些业务的停顿,提前想好补救措施,比如本次发布的发布过程中的销帐。
6. 不要忽略发布后的检查,对于特殊逻辑要特殊对待,发布前后看看数据,比如本次的0账单等
可以改进的地方:
(1)脚本同步所有环境的时候,重启机器并没有一台一台重启,第一台还没有起来,可能第二台已经关闭了,以后数据量非常大的情况下,是有风险的,可以sleep一下再关闭第二台。
(2)当出现关键性步骤没有通过时,应该block住并给出提示,否则发布人员如果不盯着日志很有可能放过一些关键问题,比如上面说到的第2条,mvn path没有配置,居然接着执行了,只在日志里有一条,command not found的提示。
分享到:
相关推荐
Spring Boot 2.1.0 新闻发布系统第八章 项目总结项目总结
21.项目1-地区销售额-项目发布及总结 22.项目1-地区销售额-项目需求分析和分区Trident Spout开发 23.项目1-地区销售额-Trident代码开发一 24.项目1-地区销售额-Trident代码开发二 25.项目1-地区销售额-基于HBase存储...
Spring Boot 2.1.0 新闻发布系统第八章 项目总结项目测试
淮海工学院计算机工程学院 开放实验... " ----------------------- 《Android应用开发》开放实验项目总结报告-模板全文共2页,当前为第1页。 《Android应用开发》开放实验项目总结报告-模板全文共2页,当前为第2页。
1、Spring Boot的特点(1)快速开发spring应用的框架(2)内嵌tomcat和jetty servlet容器,不需要单独安装容器,jar包直接发布
35 利润及利润分配表 37 十九、 项目盈利能力分析 37 项目投资现金流量表 39 二十、 财务生存能力分析 40 二十一、 偿债能力分析 40 借款还本付息计划表 42 二十二、 经济评价结论 42 二十三、 招标信息发布 43 二十...
网站项目生命周期 网站项目生命周期是参照项目管理的国际标准和软件项目生命周期,结合网站项目实际工作制定的。...项目发布 项目完工 项目跟踪 宣传推广 站点维护 项目总结 项目报告 表扬和奖励
原型发布项目教学设计 一、设计摘要 课程名称 交互原型设计 教学项目 原型评测与发布——原型发布 学时安排 2学时 所选教材 互联网产品设计思维与实践 二、设计依据 依据课程标准,运用现代教育技术,创设一个融合...
21.项目1-地区销售额-项目发布及总结 22.项目1-地区销售额-项目需求分析和分区Trident Spout开发 23.项目1-地区销售额-Trident代码开发一 24.项目1-地区销售额-Trident代码开发二 25.项目1-地区销售额-基于HBase存储...
项目发布包含项目ppt,个人总结,以及组员互评
产品发布介绍 产品分析报告 产品实施说明 产品需求评审 出勤统计 工作日报 工作日总结 工作周报 工作周会 工作周总结 会议记录 季度规划会议 面试记录 年工作日历 设计稿评审 头脑风暴 团队 OKR 周报 团队工作周报 ...
XXXX、测试环境确认表、测试计划、画面交互设计、评审报告单、CodeReview记录表、TestNotes、构建BuildNotes、评审报告单、部署方案、部署手册、测试报告、产品发布说明、使用手册、已知问题列表、评审报告单、项目...
我的店铺:店铺信息,我的发布,店铺推荐,评价管理,物流跟踪 商品管理:增加发布商品,修改商品,查询商品,删除商品 用户可在该模块中查看店铺信息,商品的发布,商品的上架和下架,买家的评价管理,物流跟踪...
整理发布的XX区级科技项目工作总结提纲以实现多、快、好、省为目标,欢迎大家下载XX区级科技项...该文档为XX区级科技项目工作总结提纲,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
相比较于去年9月3日发布的3.3版本而言,4.0版本在UI、安装升级、使用流程、操作体验方面都做了重大的改进和突破。我们后面会重点对4.x系列版本提供技术支持和扩展,之前的版本我们将陆续放弃支持,强烈建议每一位...
自个实践中总结的方法,配有详细截图和所需的文件
本人不是专业iOS,ionic打包完项目的第一次发布,总结了一下,仅供小白参考
jsp新闻发布系统后台 jsp后台相当好了
项目描述:OA办公系统基于B/S架构设计。 包括文件管理、共享下载、消息管理、公文流传、通知管理、内部论坛、人力资源管理、资产管理 等。 文件管理:接收文件 传送文件 文件操作记录 共享下载:查看共享 上传共享 ...
21.项目1-地区销售额-项目发布及总结 22.项目1-地区销售额-项目需求分析和分区Trident Spout开发 23.项目1-地区销售额-Trident代码开发一 24.项目1-地区销售额-Trident代码开发二 25.项目1-地区销售额-基于HBase存储...