部署敏捷管理

在此之前,应该准备好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 agile_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\
  9. CREATE DATABASE IF NOT EXISTS state_machine_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\
  10. CREATE DATABASE IF NOT EXISTS issue_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\
  11. CREATE DATABASE IF NOT EXISTS foundation_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\
  12. GRANT ALL PRIVILEGES ON agile_service.* TO choerodon@'%'; \
  13. GRANT ALL PRIVILEGES ON state_machine_service.* TO choerodon@'%';\
  14. GRANT ALL PRIVILEGES ON issue_service.* TO choerodon@'%';\
  15. GRANT ALL PRIVILEGES ON foundation_service.* TO choerodon@'%';\
  16. FLUSH PRIVILEGES;" \
  17. --version 0.1.0 \
  18. --name create-c7nagile-db \
  19. --namespace c7n-system

部署agile service

  • 部署服务

    • 在部署知识管理前您没有SERVICES_WIKI_TOKEN请预设一个随机字符串并注意记录,部署知识管理时请使用您设置的token
  1. helm install c7n/agile-service \
  2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  3. --set preJob.preConfig.datasource.username=choerodon \
  4. --set preJob.preConfig.datasource.password=password \
  5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/agile_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  6. --set preJob.preInitDB.datasource.username=choerodon \
  7. --set preJob.preInitDB.datasource.password=password \
  8. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/agile_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  9. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
  10. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
  11. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
  12. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
  13. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
  14. --set env.open.SERVICES_ATTACHMENT_URL="http://minio.example.choerodon.io/agile-service/" \
  15. --set env.open.SERVICES_WIKI_HOST="http://wiki.example.choerodon.io" \
  16. --set env.open.SERVICES_WIKI_TOKEN="Choerodon" \
  17. --set env.open.SPRING_REDIS_HOST=c7n-redis.c7n-system.svc \
  18. --set env.open.SPRING_REDIS_DATABASE=9 \
  19. --name agile-service \
  20. --version 0.16.4 \
  21. --namespace c7n-system

参数名含义service.enable是否创建servicepreJob.preConfig.datasource{}初始化配置所需manager_service数据库信息preJob.preInitDB.datasource{}初始化数据库所需数据库信息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.SERVICES_ATTACHMENT_URLminio地址,地址中agile-service为minio bucketenv.open.SERVICES_WIKI_HOSTwiki地址env.open.SERVICES_WIKI_TOKENwiki OIDC TOKEN,必须与xwiki中的env.OIDC_WIKI_TOKEN参数值和wiki-service中的env.open.WIKI_TOKEN参数值一致

  • 验证部署

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

部署state machine service

  • 部署服务
  1. helm install c7n/state-machine-service \
  2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  3. --set preJob.preConfig.datasource.username=choerodon \
  4. --set preJob.preConfig.datasource.password=password \
  5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/state_machine_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  6. --set preJob.preInitDB.datasource.username=choerodon \
  7. --set preJob.preInitDB.datasource.password=password \
  8. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/state_machine_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  9. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
  10. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
  11. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
  12. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
  13. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
  14. --name state-machine-service \
  15. --version 0.16.0 \
  16. --namespace c7n-system

参数名含义preJob.preConfig.configFile初始化配置文件名preJob.preConfig.datasource{}初始化配置所需manager-service数据库信息preJob.preInitDB.datasource{}初始化数据库所需数据库信息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注册服务地址

  • 验证部署

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

部署issue service

  • 部署服务
  1. helm install c7n/issue-service \
  2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  3. --set preJob.preConfig.datasource.username=choerodon \
  4. --set preJob.preConfig.datasource.password=password \
  5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/issue_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  6. --set preJob.preInitDB.datasource.username=choerodon \
  7. --set preJob.preInitDB.datasource.password=password \
  8. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/issue_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true" \
  9. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
  10. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
  11. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
  12. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
  13. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
  14. --set env.open.SERVICE_ATTACHMENT_URL="http://minio.example.choerodon.io/agile-service" \
  15. --name issue-service \
  16. --version 0.16.0 \
  17. --namespace c7n-system

参数名含义preJob.preConfig.datasource{}初始化配置所需manager-service数据库信息preJob.preInitDB.datasource{}初始化数据库所需数据库信息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.env.open.SERVICE_ATTACHMENT_URLminio地址env.open.SPRING_REDIS_HOSTRedis数据库地址env.open.SPRING_REDIS_POSTRedis数据库端口

  • 验证部署

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

部署foundation service

  • 部署服务
  1. helm install c7n/foundation-service \
  2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  3. --set preJob.preConfig.datasource.username=choerodon \
  4. --set preJob.preConfig.datasource.password=password \
  5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/foundation_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
  6. --set preJob.preInitDB.datasource.username=choerodon \
  7. --set preJob.preInitDB.datasource.password=password \
  8. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/foundation_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true" \
  9. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
  10. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
  11. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
  12. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
  13. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
  14. --name foundation-service \
  15. --version 0.16.0 \
  16. --namespace c7n-system

参数名含义preJob.preConfig.datasource{}初始化配置所需manager-service数据库信息preJob.preInitDB.datasource{}初始化数据库所需数据库信息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注册服务地址

  • 验证部署

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