部署测试管理

在此之前,应该准备好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,数据即升级成功,如果日志中抛出了异常,则重试即可。