# 主机升级指南
# 目标
为使用普元 DevOps_6.5GA 产品且需要升级到 DevOps_6.6GA 的用户提供参考。
# 范围
仅限使用普元 DevOps_6.5GA 版本且没有进行过二次开发的平台升级至 DevOps_6.6GA 版本。
# 升级介质说明
# 应用版本
应用软件/中间件 | 升级项 | 版本变更 | 说明 |
---|---|---|---|
DevOps | 版本,数据 | 6.5GA-6.6GA | 前后端应用升级到6.6GA版本,数据库sql升级 |
# 升级包
DevOps平台提供了升级介质:DevOps_6.5-6.6GA_Update.tar.gz。
目录结构如下:
devops/
├── devops_update6.5-6.6GA.sql
├── devops.war
└── devops-web.zip
# 升级方案
DevOps
- 更新DevOps前端,使用前后端分离部署时需更新。(devops-web.zip)
- 更新DevOps后端。(devops.war)
- 更新DevOps数据库。(devops_update6.5-6.6GA.sql)
# 数据更新
# 备份
# 备份整个devops数据库
mysqldump -udevopsadmin -p'Primeton,111' devops > devops-bk.sql
# 升级
登录数据库
mysql -udevopsadmin -p'Primeton,111'
切换到devops数据库
use devops;
执行升级sql
source /opt/devops/devops_update6.5-6.6GA.sql;
# 应用更新
# 备份
停止应用
# 切换到进程对应的用户 su - userapp cd /opt/idc/apps/tomcat # 执行停止脚本 ./stopServer.sh
备份目录
cd /opt/idc/apps/ mv tomcat tomcat.bk
# 升级
部署war包
su - userapp cd /opt/idc/apps/tomcat mkdir webapps/ROOT unzip devops.war -d webapps/ROOT/
修改数据库连接配置
编辑文件
webapps/ROOT/WEB-INF/_srv/config/user-config.xml
:<configValue key="C3p0-Url">jdbc:mysql://10.16.16.16:3306/devops</configValue> <configValue key="C3p0-UserName">user</configValue> <configValue key="C3p0-Password">password</configValue>
拷贝license文件
# 将原有的6.0版本的license拷贝到应用中 cp ../tomcat.bk/webapps/ROOT/WEB-INF/_srv/primetonlicense.xml webapps/ROOT/WEB-INF/_srv/primetonlicense.xml
重启应用
nohup ./startServer.sh &
# 不兼容说明
# 创建迭代时责任人入库信息更新
入库责任人由empName更新为了userName,如果在迭代信息界面显示的责任人为空时,请重新选择一次责任人,责任人信息就会正常显示。
# 部分平台参数迁移至服务集成
原有配置在系统参数中的DependencyTrack、钉钉、企业微信相关配置改为在服务集成中进行配置
可以执行以下sql,将原有配置在系统参数中的相关配置迁移至服务集成
-- --Wecom平台参数迁移至服务集成 CREATE PROCEDURE WecomFunctionMigration() BEGIN DECLARE is_execute VARCHAR(255); SELECT PARAM_VALUE INTO is_execute FROM dps_parameter WHERE `PARAM_NAME` = 'WeCom.Corpid'; IF is_execute IS NOT NULL AND is_execute <> '' THEN INSERT INTO dps_3rd_system (SYSTEM_ID, ALIAS, SYSTEM_TYPE, CATEGORY, DESCRIPTION, CREATE_TIME, EXTEND) SELECT 'Wecom', 'Wecom-Param', 22, 'Wecom', 'Wecom-企业微信平台参数迁移', NOW(), (SELECT JSON_OBJECTAGG( SUBSTRING_INDEX(PARAM_NAME, '.', -1), PARAM_VALUE) AS processed_parameter_map FROM dps_parameter WHERE PARAM_NAME LIKE 'WeCom.%'); END IF; END; DELIMITER; -- --Dingtal平台参数迁移至服务集成 CREATE PROCEDURE DingtalkFunctionMigration() BEGIN DECLARE is_execute VARCHAR(255); SELECT PARAM_VALUE INTO is_execute FROM dps_parameter WHERE `PARAM_NAME` = 'Dingtalk.LoginAppId'; IF is_execute IS NOT NULL AND is_execute <> '' THEN INSERT INTO dps_3rd_system (SYSTEM_ID, ALIAS, SYSTEM_TYPE, CATEGORY, DESCRIPTION, CREATE_TIME, EXTEND) SELECT 'Dingtalk', 'Dingtalk-Param', 22, 'Dingtalk', 'Dingtalk-钉钉平台参数迁移', NOW(), (SELECT JSON_OBJECTAGG( SUBSTRING_INDEX(PARAM_NAME, '.', -1), PARAM_VALUE) AS processed_parameter_map FROM dps_parameter WHERE PARAM_NAME LIKE 'Dingtalk.%'); END IF; END; DELIMITER ; -- --DT平台参数迁移至服务集成 CREATE PROCEDURE DependencyTrackFunctionMigration() BEGIN DECLARE is_execute VARCHAR(255); SELECT PARAM_VALUE INTO is_execute FROM dps_parameter WHERE `PARAM_NAME` = 'DependencyTrack.ApiServerUrl'; IF is_execute IS NOT NULL AND is_execute <> '' THEN INSERT INTO dps_3rd_system (SYSTEM_ID, ALIAS, SYSTEM_TYPE, CATEGORY, ADDRESS, `PASSWORD`, DESCRIPTION, CREATE_TIME) SELECT 'DependencyTrack', 'DependencyTrack-Param', 6, 'DependencyTrack', (SELECT PARAM_VALUE FROM dps_parameter WHERE `PARAM_NAME` = 'DependencyTrack.ApiServerUrl'), (SELECT PARAM_VALUE FROM dps_parameter WHERE `PARAM_NAME` = 'DependencyTrack.ApiKey'), 'DependencyTrack-DT平台参数迁移', NOW(); END IF; END; DELIMITER ; call WecomFunctionMigration(); call DingtalkFunctionMigration(); call DependencyTrackFunctionMigration();
也可以在 DevOps 平台管理页面进行重新配置:企业微信、钉钉需要配置在平台管理-平台配置-服务集成-企业办公服务器中;DependencyTrack需要配置在平台管理-平台配置-服务集成-质量分析服务器中
企业微信配置页面,如图:
钉钉配置页面,如图:
DependencyTrack配置页面,如图:
# 去除项目中文档权限管理的组权限
需执行以下sql进行组权限的清除
DELETE FROM DPS_SPECIAL_PERMISSION WHERE TARGET_TYPE = 'group';
补充说明
文档设定独立的数据权限,如果文档设定为受控状态,则可以控制项目成员谁拥有该文档读写删的权限。
# 测试用例属性变更
项目管理中,测试用例的详情属性变更名称为备注,优化用例优先级为P0(重要)、P1(高)、P2(一般)、P3(低),去除了部分用例类型config(配置相关)、install(安装部署),更新了部分用例类型safety(安全相关)变更为了security(安全性测试)。
# 权限码补充
补充了构建、发布页面的保存和删除标签权限,如需保存或删除标签,可以在项目-管理-授权-按钮权限-构建/发布模块找到保存和删除标签权限,对指定角色进行授权。
补充说明
如果采用项目角色权限模板管理默认项目角色权限,需要在平台管理-模板管理-角色模板中根据实际需要对指定角色授权保存和删除标签权限。
# 项目概要页面升级
原有概要页面升级改造,支持卡片形式自定义项目概要页面能力,原有的概要页面不再进行维护管理,新概要页面沿用原有的权限码进行管理。
# 权限码优化
优化了权限码,去除了原有概要页面的版本增删改权限、版本里程碑增删改权限,去除了任务页面的迭代增删改权限、泳道配置权限,任务页面的模块增删改权限迁移至概要模块管理,
补充了概要页面卡片的增删改权限,概要页面中卡片涉及到的迭代、版本增删改权限由迭代页面、版本页面的对应权限控制。
原有项目按钮权限管理:
新项目按钮权限管理:
# 风险
风险类型代办去除了优先级展示,更正为展示严重等级。