课程总体链接:https://apptu3z5hq71009.pc.xiaoe-tech.com/index
时长:::: ,讲师:夏勇
提纲:
1.环境管理定义 | 2.现状分析 | 3.多环境管理 | 4.协同开发环境 |
5.补丁更新规范 | 6.公有云环境管理 | 7.性能优化 | 8.安全管理 |
1. 环境管理定义
什么是环境管理? 这里环境是指开发环境+测试环境+生产环境。为了保障系统的生产环境高效、持续稳定的运行,则需要一整套环境管理机制及措施来保证,其中开发环境和测试环境的质量决定生产环境的质量。
环境管理到底要做哪些工作呢?
蓝图阶段 | 构建阶段 | 测试阶段 | 上现阶段 | 验收阶段 |
环境部署规划 环境准备 DEMO环境搭建 开发环境搭建 测试环境搭建 | 开发规范管理-协同平台 补丁发布计划 补丁更新规范管里 测试服务器性能跟踪 | UAT测试计划 补丁更新规范管理 UAT环境搭建 生产环境搭建 | 补丁更新规范管理 补丁更新记录 | 补丁更新规范管理 补丁更新记录 运维交接的资料整理 |
项目中是否需要专门设一个环境管理这个角色? 需要,是否专职取决于项目大小和交付周期,对于交付周期短是渐进的项目,需要专职,否则兼职则行,但需专人。
什么样的人员才能胜任环境管理这份工作呢?
要有较强的技术功底,熟悉星空产品,能懂星空开发的人员为佳。
对项目中选用的数据库非常熟悉,了解系统数据库运行的各项指标,能应对数据库异常的各种问题排查/包括性能问题
能了解星空产品架构,能懂星空补丁更新原理,能制定部署过程的各种规范。
2.现状分析
不使用协同开发平台 |
|
补丁更新不规范 |
|
环境管理混乱 |
|
缺乏专业人员 |
|
3.多环境管理
多环境的要求:
星空产品交付时,如果有开发至少要求有四个环境,开发环境、集成测试环境、UAT环境、生产环境。
为了保证开发及部署规范管理,星空开发统一使用协同开发平台,统一管理元数据和代码。
对这四个环境的要求:
开发环境的成果必须是在开发环境经过自测以后才构建发布到集成测试环境。 | |
集成测试环境必须与开发环境分开,元数据及插件的更新必须以安装包的形式,不能直接在对应的环境修改原数据和更新插件 | |
UAT环境需要与集成测试环境分开,可以为一个服务器的两个账套,但UAT环境需要用客户的真实数据,数据需要定期与生产环境保持一致,防止有些BUG因为数据的原因在测试时未测出来造成对生产环境的影响 |
整个过程都是通过迭代,开发环境和基础测试环境都需要至少两套来解决一期到二期过渡期间BUG修复及紧急补丁更新。
一期BUG阶段同时也是二期开发阶段,需要将二期开发与一期BUG修改进行区分。
多环境部署
必须严格分离
版本及补丁必须保持一致
只有通过UAT测试后客户开发补丁包才能正式部署到生产环境 。
4.协同开发环境
实现多人异地不同环境协同开发的原理:
所有人都在同一个应用中。
元数据和代码通过“签入”实时签入协同平台的SVN服务器中。
即使环境不同,账套不同,只要在同一个应用中都可以通过SVN仓库拉取到应用的数据。
“签出”时在SVN服务器做标记,该文件被锁住,其他人需要编辑该数据文件时需要这个人签入后才可以使用,另外一个在用时需要先同步,然后再“签出”,防止多人编辑时冲突问题。
对于多人的团队协作开发必须使用协同平台进行统一管理,不仅能规范管理、能多人协作、而且通过平台操作非常、、、、
协同开发模式与传统开发模式的区别:
独立开发,可能存在冲突。 | 多人异地协同,随时随地更新获取最新开发内容 |
无调试环境 | 一键搭建开发环境以供插件调试 |
无SVN管理功能,易出现平行扩展导致冲突 | 提供SVN服务,严格的源码、元数据统一版本管控 |
先目后纲,零散开发,再合并制作部署包 | 应用整体管理,一键构建生成部署包 |
无源代码分析功能 | 源代码分析,检查代码、脚本的风险,保障正式环境安全性 |
- | 打通云ERP通道,快速实现二开包上线 |
- | 项目零成本提炼成产品 |
- | 行业产品直接发布到金蝶云开放平台 |
协同开发规范
项目组的成员(开发+实施)增加和修改元数据都需要在协同平台修改。
使用协同开发平台人员必须遵循下面(命名规范+协同操作规范)的要求。
开发人员开发过程中必须遵循技术装备包中的《星空客户化开发规范》、《开发最佳实践》进行开发,技术装备包下载地址:。。。。。。。。
5.补丁更新规范
补丁部署环境包括4个环境
对于补丁来源包括:研发标准补丁,星空补丁,第三方星空补丁,第三方非星空补丁。先后顺序一定要注意。
补丁更新时需要遵循补丁更新先后顺序原则:标准补丁-二开补丁-第三方标准补丁-第三方二开补丁
对于上线后的补丁更新,需要每次补丁更新时说明补丁更新内容(包括研发补丁更新),影响范围。。。
环境管理要求
由于环境比较多,需要PM指定专门的环境管理人员,对补丁更新进行严格控制。
各环境管理人员必须对对应的环境负责。专门的环境管理人员需要制定补丁更新策略和更新规范,补丁更新参照规范进行更新。
项目经理对环境最终质量和环境稳定性负责。
PM需要指定人员分工并进行记录、追溯。
补丁更新规范
二开需统一在协同开发平台,使用在线构建统一生成二开补丁,补丁发布到集成测试环境前需要统一发布到开发环境初测,保证质量,代码保证没有问题,编译通过后才能嵌入到协同平台,保证协同在线构建成功。
上线前开发环境及集成测试环境的补丁更新,可以每天更新,每天建议不超过三次,生产环境补丁上线后一般控制在一周更新一次,
补丁更新前考虑在线情况,注意通知。 星空里面有公告栏功能。
补丁更新步骤
收集齐全补丁包,一定要按照顺序上传,必须以一定渠道说明打补丁顺序!
生产环境确认更新补丁时,提前一天知会实施小组,安排顾问做回归测试, 回归测试-二次验证
生产环境补丁更新前10分钟通过云之家、微信、系统广播等提醒用户服务器的补丁更新时间,预计什么时间完成。
更新补丁前备份补丁包,备份数据库(防止出现意外)
服务器补丁日志存档,如有报错反馈开发进行处理
更新服务器补丁记录,通知用户恢复使用等。
临时补丁要求-----针对生产环境
申请条件:中断性错误或阻塞,重大缺陷,全局性影响
申请流程:顾问整理补丁更新需求,列出需打包的原因/影响范围并提供具体补丁,上报系统管理员。系统管理员上报PM。。。
数据回迁规范
为了保证开发质量,快速定位问题,需要定期回签生产环境数据中心到测试/开发环境。要保证数据的安全、完整,严格执行数据保密协议,数据仅做开发测试用,不得以任何方式扩散传播泄露。
环境部署注意事项
PM定期对生产环境,测试环境数据中心进行备份。
生产数据回签时。。。
6.公有云环境管理
相同点:都必须要有4个环境:开发、集成测试、UAT、生产,各环境规范管理及部署方式,开发方式都完全一样。
不同点:运维不一样,生产环境部署,生产环境开通-补丁顺序不要整错了。
公有云生产环境二开部署
关联申请:申请应用与公有云租户关联,企业IT管理员在ik3cloud上审核关联申请
二开包部署:
7.性能优化
优化原则:排查--诊断--优化,复杂的问题进行拆解,各个击破
单据类: 插件? 元数据?字段设计时要合理不要冗余?HTML5流式布局,
操作、服务类:性能跟踪工具,向服务端请求太多,有些写法死锁/死循环,更新控件的方法
性能优化-系统整体卡顿:
1、检查EM表现,如数据库服务器是否存在阻塞,长时间SQL
2、数据库服务器CPU使用率是否长时间超过80%
3、应用服务器CPU使用率
4、应用服务器使用率是否接近80%,超过80G?
5、使用本机的 localhost是否也卡顿
6、使用万维网的客户端和使用局域网的客户端是否一样卡顿
系统闪退怎么办?
查看星空日志:管理中心、业务站点、数据库日志,关键字 Exception
操作系统日志:来源 WAS ,IIS,AppLication Error, ASP.NET4.0.30319.0, .NET Runtime
星空安装环境注意事项
1、私有云环境数据库强烈建议不要放在虚拟机里面。
2、当生产环境数据为Oracle时,其操作系统建议使用Linux系统,使用Windows系统问题多。
3、Oracle数据版本选择建议:11.2.0.4或12.1.0.2 -新版本问题多。
8.安全管理
公有云备份策略:
正式数据中心
每天一次
0-3时
完整备份
.bak
本地和异地同时存储,
本地保存当天的备份文件,
部署的一般安全性考虑:
不做桌面工作, 及时安装系统安全补丁。
END