• 微服务开发框架升级

    请按以下顺序依次进行升级部署,请不要随意调整升级顺序。升级后可能数据库结构会发生改变,故不能进行版本回退。文档升级命令中的RELEASE NAME是在基于分步安装文档之上编写的,若你在安装时指定了其他RELEASE NAME,请以你安装时指定的RELEASE NAME为准。一键部署安装的请执行helm list命令查看RELEASE NAME。

    添加Choerodon Chart仓库

    helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
    helm repo update
    

    注意事项

    升级register server

    升级manager service

    升级asgard service

    升级notify service

    移除 iam service

    helm delete --purge iam-service
    

    安装 base service

    0.19以前的base-service的数据库为iam_service,0.19以后更名为base_service,对于配置文件中是使用iam_service还是base_service遵从一下标准: 如果是新安装的版本,就使用base_service,如果是升级上来的版本,原版本数据库使用的是什么数据库名称,配置文件中就配置对应的数据库名称

    升级api gateway

    升级oauth server

    升级file service

    DevOps服务升级

    升级gitlab service

    升级workflow service

    升级devops service

    从0.17开始,开发管理可以选择接入SonarQube进行代码质量管理。如果不需要进行代码质量管理在kubernetes控制节点的服务器中执行如下命令: kubectl edit cm devops-service -n c7n-system 如果存在service.sonarqube.url的内容删除即可。

    敏捷管理升级

    移除state machine service

    helm delete --purge state-machine-service
    

    移除 issue service

    helm delete --purge issue-service 
    

    移除foundation service

    helm delete --purge foundation-service
    

    升级agile service

    注意:SERVICES_ATTACHMENT_URL上个版本包含agile-service的bucket。0.19版本需要去掉bucket,只需设置minio的地址即可。

    测试管理升级

    知识管理升级

    安装 elasticsearch-kb

    升级knowledgebase-service

    数据迁移

    迁移数据库

    执行0.19.0数据修复脚本,执行以下命令(HOST替换成对应参数),并注意要查看修复程序执行日志确认是否执行成功
    helm install c7n/choerodon-datafix \
        --set env.open.AgileDBHOST=c7n-mysql.c7n-system.svc \
        --set env.open.AgileDBPORT=3306 \
        --set env.open.AgileDBUSER=choerodon \
        --set env.open.AgileDBPASS=password \
        --set env.open.IssueDBHOST=c7n-mysql.c7n-system.svc \
        --set env.open.IssueDBPORT=3306 \
        --set env.open.IssueDBUSER=choerodon \
        --set env.open.IssueDBPASS=password \
        --set env.open.StateMachineDBHOST=c7n-mysql.c7n-system.svc \
        --set env.open.StateMachineDBPORT=3306 \
        --set env.open.StateMachineDBUSER=choerodon \
        --set env.open.StateMachineDBPASS=password \
        --set env.open.FoundationDBHOST=c7n-mysql.c7n-system.svc \
        --set env.open.FoundationDBPORT=3306 \
        --set env.open.FoundationDBUSER=choerodon \
        --set env.open.FoundationDBPASS=password \
        --set env.open.BaseDBHOST=c7n-mysql.c7n-system.svc \
        --set env.open.BaseDBPORT=3306 \
        --set env.open.BaseDBUSER=choerodon \
        --set env.open.BaseDBPASS=password \
        --set env.open.AsgardDBHOST=c7n-mysql.c7n-system.svc \
        --set env.open.AsgardDBPORT=3306 \
        --set env.open.AsgardDBUSER=choerodon \
        --set env.open.AsgardDBPASS=password \
        --version 0.19.0  \
        --name choerodon-datafix \
        --namespace c7n-system
    

    清除 redis 旧的菜单和 api 统计数据

    清理管理服务菜单权限缓存数据

    kubectl get po -n c7n-system
    kubectl exec -it c7n-mysql-xxxx -n c7n-system bash
    mysql -h 127.0.0.1 -u choerodon -ppassword
    use manager_service;
    truncate table mgmt_actuator;
    

    重启 manager-service ,重新初始化菜单权限数据

    kubectl scale deployment manager-service --replicas=0 -n c7n-system
    kubectl scale deployment manager-service --replicas=1 -n c7n-system
    

    整合前端升级

    迁移DevOps数据

    调用Devops迁移数据接口

    从0.18.13以下的版本升级到0.18.13以及以上的版本时,为了在gitlab-ci中使用每个项目单独的用户去推送镜像,需要手动调用api去同步创建harbor用户,请使用管理员用户登陆平台,在管理界面的平台服务->平台接口->devops-service->devops-check-controller里面调用数据修复接口,参数传入为0.18.13,记得检查gitlab-ci.yaml文件内docker login时的参数是否为 DOCKER_USERNAME和DOCKER_PASSWORD
    从0.19.5以下的版本升级到0.19.5以及以上的版本时,为了将原来组织下的集群迁移到项目下,并为组织创建默认运维项目,需要手动调用api去同步创建项目。请使用管理员用户登陆平台,在管理界面的平台服务->平台接口->devops-service->devops-check-controller里面调用数据修复接口,参数传入为0.19.5
    对于已经安装了的SonarQube,升级choerodon到0.19.x时对应的SonarQube插件版本也要升级到sonar-auth-choerodonoauth-plugin-1.5.2-RELEASE.jar