DevOps DevOps
产品简介
产品安装
快速入门
使用指南
开发指南
FAQ
  • 主机升级指南
  • 目标
  • 范围
  • 升级介质说明
  • 应用版本
  • 升级包
  • 升级方案
  • 数据更新
  • 备份
  • 升级
  • 应用更新
  • 备份
  • 升级
  • 不兼容说明
  • 创建迭代时责任人入库信息更新
  • 部分平台参数迁移至服务集成
  • 去除项目中文档权限管理的组权限
  • 测试用例属性变更
  • 权限码补充
  • 项目概要页面升级
  • 权限码优化
  • 风险

# 主机升级指南

# 目标

为使用普元 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需要配置在平台管理-平台配置-服务集成-质量分析服务器中

    企业微信配置页面,如图:

    1

    钉钉配置页面,如图:

    2

    DependencyTrack配置页面,如图:

    3

# 去除项目中文档权限管理的组权限

需执行以下sql进行组权限的清除

DELETE FROM DPS_SPECIAL_PERMISSION WHERE TARGET_TYPE = 'group';

补充说明

文档设定独立的数据权限,如果文档设定为受控状态,则可以控制项目成员谁拥有该文档读写删的权限。

# 测试用例属性变更

项目管理中,测试用例的详情属性变更名称为备注,优化用例优先级为P0(重要)、P1(高)、P2(一般)、P3(低),去除了部分用例类型config(配置相关)、install(安装部署),更新了部分用例类型safety(安全相关)变更为了security(安全性测试)。

# 权限码补充

补充了构建、发布页面的保存和删除标签权限,如需保存或删除标签,可以在项目-管理-授权-按钮权限-构建/发布模块找到保存和删除标签权限,对指定角色进行授权。

4

补充说明

如果采用项目角色权限模板管理默认项目角色权限,需要在平台管理-模板管理-角色模板中根据实际需要对指定角色授权保存和删除标签权限。

5

# 项目概要页面升级

原有概要页面升级改造,支持卡片形式自定义项目概要页面能力,原有的概要页面不再进行维护管理,新概要页面沿用原有的权限码进行管理。

6

# 权限码优化

优化了权限码,去除了原有概要页面的版本增删改权限、版本里程碑增删改权限,去除了任务页面的迭代增删改权限、泳道配置权限,任务页面的模块增删改权限迁移至概要模块管理,

补充了概要页面卡片的增删改权限,概要页面中卡片涉及到的迭代、版本增删改权限由迭代页面、版本页面的对应权限控制。

原有项目按钮权限管理:

7

新项目按钮权限管理:

8

# 风险

风险类型代办去除了优先级展示,更正为展示严重等级。

9

← SonarQube 安装 环境准备 →