• 部署测试管理
    • 添加choerodon chart仓库
    • 创建数据库
    • 部署test manager service
    • 数据兼容

    部署测试管理

    在此之前,应该准备好Mysql、Harbor、Gitlab、Minio,Chartmuseum这些组件的信息。按以下搭建顺序进行搭建,请不要随意调整搭建顺序。

    添加choerodon chart仓库

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

    创建数据库

    1. helm install c7n/mysql-client \
    2. --set env.MYSQL_HOST=c7n-mysql.c7n-system.svc \
    3. --set env.MYSQL_PORT=3306 \
    4. --set env.MYSQL_USER=root \
    5. --set env.MYSQL_PASS=password \
    6. --set env.SQL_SCRIPT="\
    7. CREATE USER IF NOT EXISTS 'choerodon'@'%' IDENTIFIED BY 'password';\
    8. CREATE DATABASE IF NOT EXISTS test_manager_service DEFAULT CHARACTER SET utf8;\
    9. GRANT ALL PRIVILEGES ON test_manager_service.* TO choerodon@'%';\
    10. FLUSH PRIVILEGES;" \
    11. --version 0.1.0 \
    12. --name create-c7ntest-db \
    13. --namespace c7n-system

    部署test manager service

    • 部署服务
    1. helm install c7n/test-manager-service \
    2. --set env.open.JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap" \
    3. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    4. --set preJob.preConfig.datasource.username=choerodon \
    5. --set preJob.preConfig.datasource.password=password \
    6. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/test_manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    7. --set preJob.preInitDB.datasource.username=choerodon \
    8. --set preJob.preInitDB.datasource.password=password \
    9. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/test_manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    10. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
    11. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
    12. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
    13. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
    14. --set env.open.SPRING_CLOUD_CONFIG_URI="http://config-server.c7n-system:8010/" \
    15. --set env.open.SPRING_REDIS_HOST=c7n-redis.c7n-system.svc \
    16. --set env.open.SPRING_REDIS_DATABASE=13 \
    17. --name test-manager-service \
    18. --version 0.15.0 \
    19. --namespace c7n-system

    参数名含义service.enable是否创建servicepreJob.preConfig.mysql{}初始化配置所需manager_service数据库信息preJob.preInitDB.mysql{}初始化数据库所需数据库信息env.open.SPRING_DATASOURCE_URL数据库链接地址env.open.SPRING_DATASOURCE_USERNAME数据库用户名env.open.SPRING_DATASOURCE_PASSWORD数据库密码env.open.SPRING_CLOUD_CONFIG_ENABLED启用配置中心env.open.SPRING_CLOUD_CONFIG_URI配置中心地址env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE注册服务地址env.open.SPRING_REDIS_HOSTredis 链接地址

    • 验证部署

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=test-manager-service -o jsonpath="{.items[0].status.podIP}"):8094/health | jq -r .status
    • 出现以下类似信息即为成功部署
    1. UP

    数据兼容

    若为第一次部署,请忽略本小节。本小节旨在修复老版本已产生的数据适配测试管理模块
    • 当从0.7升级至0.8时的数据升级:数据升级会在每一个版本下生成一个临时循环,以下是修复步骤,在访问搭建好的Choerodon的api,api.example.choerodon.io/manager/swagger-ui.html,选择test_manager_service -> test-cycle-controller -> 数据升级

      • 认证请使用用户名:admin,密码:admin
      • 在project_id字段输入一个存在的项目id 例如:1
      • 提交执行,即可修复数据。
    • 当从0.9升级至0.10时的数据升级:此次数据升级将会把执行逆向生成用例,不同文件夹下的相同用例将复制,并在每一个版本下生成一个临时文件夹,以下是修复步骤

      • 进入example.choerodon.io/#/iam/api-test选择test_manager_service -> test-cycle-controller
        测试管理部署  - 图1
    • 点击/v1/projects/{project_id}/cycle/fix右侧按钮进入API测试页面
      测试管理部署  - 图2

    • 填入一个存在的project_id点击发送即可,等待日志中出现fix data successful,数据即升级成功,如果日志中抛出了异常,则重试即可。