微服务开发框架升级

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

删除旧版猪齿鱼框架服务

为了规范组件的命令规则,现在将所有的 hzero-* 组件重命名为 choerodon-*,因此需要删掉原来的组件。

  1. helm uninstall -n c7n-system hzero-register
  2. helm uninstall -n c7n-system hzero-admin
  3. helm uninstall -n c7n-system hzero-iam
  4. helm uninstall -n c7n-system hzero-asgard
  5. helm uninstall -n c7n-system hzero-swagger
  6. helm uninstall -n c7n-system hzero-gateway
  7. helm uninstall -n c7n-system hzero-oauth
  8. helm uninstall -n c7n-system hzero-platform
  9. helm uninstall -n c7n-system hzero-monitor
  10. helm uninstall -n c7n-system hzero-file
  11. helm uninstall -n c7n-system hzero-message

添加Choerodon Chart仓库

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

部署 choerodon register

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-register

  • 编写参数配置文件 choerodon-register.yaml

    1. env:
    2. open:
    3. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
  • 执行安装

    1. helm upgrade --install choerodon-register c7n/choerodon-register \
    2. -f choerodon-register.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

    • 验证命令
  1. ```
  2. curl -s $(kubectl get svc choerodon-register -o jsonpath="{.spec.clusterIP}" -n c7n-system):8001/actuator/health | jq -r .status
  3. ```
  4. - 出现以下类似信息即为成功部署
  5. ```
  6. UP
  7. ```

升级 choerodon admin

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-admin

  • 编写参数配置文件 choerodon-admin.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. env:
    8. open:
    9. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    10. HZERO_AUTO_REFRESH_SWAGGER_ENABLE: true
    11. SPRING_REDIS_HOST: c7n-redis.c7n-system
    12. SPRING_REDIS_PORT: 6379
    13. # 此db不可更改
    14. SPRING_REDIS_DATABASE: 1
    15. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    16. SPRING_DATASOURCE_USERNAME: choerodon
    17. SPRING_DATASOURCE_PASSWORD: password
  • 部署服务

    1. helm upgrade --install choerodon-admin c7n/choerodon-admin \
    2. -f choerodon-admin.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

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

升级 choerodon iam

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-iam

  • 编写参数配置文件 choerodon-iam.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system.svc:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. driver: com.mysql.jdbc.Driver
    8. env:
    9. open:
    10. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    11. CHOERODON_GATEWAY_URL: http://api.example.choerodon.io
    12. SPRING_REDIS_HOST: c7n-redis.c7n-system.svc
    13. SPRING_REDIS_PORT: 6379
    14. # 此db不可更改
    15. SPRING_REDIS_DATABASE: 1
    16. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    17. SPRING_DATASOURCE_USERNAME: choerodon
    18. SPRING_DATASOURCE_PASSWORD: password
    19. HZERO_EXPORT_COREPOOLSIZE: 1
  • 部署服务

    1. helm upgrade --install choerodon-iam c7n/choerodon-iam \
    2. -f choerodon-iam.yaml \
    3. --version 0.23.6 \
    4. --namespace c7n-system
  • 验证部署

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

升级 choerodon asgard

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-asgard

  • 编写参数配置文件 choerodon-asgard.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. driver: com.mysql.jdbc.Driver
    8. env:
    9. open:
    10. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    11. SPRING_REDIS_HOST: c7n-redis.c7n-system.svc
    12. SPRING_REDIS_PORT: 6379
    13. SPRING_REDIS_DATABASE: 7
    14. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/asgard_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    15. SPRING_DATASOURCE_USERNAME: choerodon
    16. SPRING_DATASOURCE_PASSWORD: password
  • 升级服务

    1. helm upgrade --install choerodon-asgard c7n/choerodon-asgard \
    2. -f choerodon-asgard.yaml
    3. --create-namespace \
    4. --version 0.23.3 \
    5. --namespace c7n-system
  • 验证升级

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

部署 choerodon swagger

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-swagger

  • 编写参数配置文件 choerodon-swagger.yaml

    1. env:
    2. open:
    3. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    4. HZERO_OAUTH_URL: http://api.example.choerodon.io/oauth/oauth/authorize
    5. SPRING_REDIS_HOST: c7n-redis.c7n-system
    6. SPRING_REDIS_PORT: 6379
    7. # 此db不可更改
    8. SPRING_REDIS_DATABASE: 1
    9. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    10. SPRING_DATASOURCE_USERNAME: choerodon
    11. SPRING_DATASOURCE_PASSWORD: password
  • 部署服务

    1. helm upgrade --install choerodon-swagger c7n/choerodon-swagger \
    2. -f choerodon-swagger.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

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

升级 choerodon gateway

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-gateway

  • 编写参数配置文件 choerodon-gateway.yaml

    1. env:
    2. open:
    3. SPRING_REDIS_HOST: c7n-redis.c7n-system
    4. SPRING_REDIS_PORT: 6379
    5. # 此db不可更改
    6. SPRING_REDIS_DATABASE: 4
    7. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    8. SPRING_DATASOURCE_USERNAME: choerodon
    9. SPRING_DATASOURCE_PASSWORD: password
    10. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    11. ingress:
    12. enabled: true
    13. host: api.example.choerodon.io
  • 部署服务

    1. helm upgrade --install choerodon-gateway c7n/choerodon-gateway \
    2. -f choerodon-gateway.yaml
    3. --create-namespace \
    4. --version 0.23.1 \
    5. --namespace c7n-system
  • 验证部署

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

升级 choerodon oauth

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-oauth

  • 编写参数配置文件 choerodon-oauth.yaml

    1. env:
    2. open:
    3. # 如果使用https 该参数设置为true
    4. HZERO_OAUTH_LOGIN_ENABLE_HTTPS: false
    5. HZERO_OAUTH_LOGIN_SUCCESS_URL: http://app.example.choerodon.io
    6. HZERO_OAUTH_LOGIN_DEFAULT_CLIENT_ID: choerodon
    7. HZERO_GATEWAY_URL: http://api.example.choerodon.io
    8. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    9. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    10. SPRING_DATASOURCE_USERNAME: choerodon
    11. SPRING_DATASOURCE_PASSWORD: password
    12. SPRING_REDIS_HOST: c7n-redis.c7n-system
    13. SPRING_REDIS_PORT: 6379
    14. # 此db不可更改
    15. SPRING_REDIS_DATABASE: 3
  • 部署服务

    1. helm upgrade --install choerodon-oauth c7n/choerodon-oauth \
    2. -f choerodon-oauth.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

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

升级 choerodon platform

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-platform

  • 编写参数配置文件 choerodon-platform.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. driver: com.mysql.jdbc.Driver
    8. env:
    9. open:
    10. HZERO_PLATFORM_HTTP_PROTOCOL: http
    11. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    12. SPRING_REDIS_HOST: c7n-redis.c7n-system
    13. SPRING_REDIS_PORT: 6379
    14. # 此db不可更改
    15. SPRING_REDIS_DATABASE: 1
    16. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    17. SPRING_DATASOURCE_USERNAME: choerodon
    18. SPRING_DATASOURCE_PASSWORD: password
    19. HZERO_EXPORT_COREPOOLSIZE: 1
  • 部署服务

    1. helm upgrade --install choerodon-platform c7n/choerodon-platform \
    2. -f choerodon-platform.yaml
    3. --create-namespace \
    4. --version 0.23.4 \
    5. --namespace c7n-system
  • 验证部署

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

升级 choerodon monitor

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-monitor

  • 编写参数配置文件 choerodon-monitor.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. env:
    8. open:
    9. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    10. SPRING_REDIS_HOST: c7n-redis.c7n-system
    11. SPRING_REDIS_PORT: 6379
    12. # 此db不可更改
    13. SPRING_REDIS_DATABASE: 1
    14. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_monitor?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    15. SPRING_DATASOURCE_USERNAME: choerodon
    16. SPRING_DATASOURCE_PASSWORD: password
  • 部署服务

    1. helm upgrade --install choerodon-monitor c7n/choerodon-monitor \
    2. -f choerodon-monitor.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

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

升级 choerodon file

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-file

  • 编写参数配置文件 choerodon-file.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. driver: com.mysql.jdbc.Driver
    8. env:
    9. open:
    10. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    11. MINIO_ACCESSKEY: accesskey
    12. MINIO_ENDPOINT: http://minio.example.choerodon.io
    13. MINIO_SECRETKEY: secretkey
    14. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_file?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    15. SPRING_DATASOURCE_USERNAME: choerodon
    16. SPRING_DATASOURCE_PASSWORD: password
    17. SPRING_REDIS_HOST: c7n-redis.c7n-system
    18. SPRING_REDIS_PORT: 6379
    19. # 此db不可更改
    20. SPRING_REDIS_DATABASE: 1
    21. SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE: 200MB
    22. SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE: 200MB
    23. FILE_GATEWAY_URL: http://api.example.choerodon.io/hfle
  • 部署服务

    1. helm upgrade --install choerodon-file c7n/choerodon-file \
    2. -f choerodon-file.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

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

升级 choerodon message

  • 若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-message

  • 编写参数配置文件 choerodon-message.yaml

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    5. username: choerodon
    6. password: password
    7. env:
    8. open:
    9. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    10. HZERO_WEBSOCKET_OAUTHURL: http://choerodon-oauth/oauth/api/user
    11. SPRING_REDIS_HOST: c7n-redis.c7n-system
    12. SPRING_REDIS_PORT: 6379
    13. # 此db不可更改
    14. SPRING_REDIS_DATABASE: 1
    15. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_message?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    16. SPRING_DATASOURCE_USERNAME: choerodon
    17. SPRING_DATASOURCE_PASSWORD: password
    18. ingress:
    19. enabled: true
    20. host: notify.example.choerodon.io
  • 部署服务

    1. helm upgrade --install choerodon-message c7n/choerodon-message \
    2. -f choerodon-message.yaml \
    3. --version 0.23.6 \
    4. --namespace c7n-system
  • 验证部署

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

敏捷管理升级

开始进行升级部署前请先备份好数据库。

此次升级数据库初始化工具也进行了升级;更改了菜单数据初始化方式;本服务数据初始化使用preJob.preInitDB.datasource.xxx参数和之前一样; 菜单数据初始化使用preJob.preInitDB.datasources.platform.xxx,可支持框架数据和业务数据分库初始化菜单

升级 agile service

  • 升级服务

    1. helm upgrade agile-service c7n/agile-service \
    2. --reuse-values \
    3. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://choerodon-register.c7n-system:8000/eureka/ \
    4. --set preJob.preInitDB.datasources.message.url='jdbc:mysql://c7n-mysql.c7n-system.svc:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai' \
    5. --set preJob.preInitDB.datasources.message.username=choerodon \
    6. --set preJob.preInitDB.datasources.message.password=password \
    7. --set preJob.preInitDB.datasources.message.driver=com.mysql.jdbc.Driver \
    8. --set env.open.SERVICES_DOMAIN_URL='http://app.example.choerodon.io' \
    9. --version 0.23.6 \
    10. --namespace c7n-system
  • 验证升级

    • 验证命令
    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

升级 test manager service

  • 升级服务

    1. helm upgrade test-manager-service c7n/test-manager-service \
    2. --reuse-values \
    3. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://choerodon-register.c7n-system:8000/eureka/ \
    4. --set CHOERODON_CLEANPERMISSION=false \
    5. --version 0.23.2 \
    6. --namespace c7n-system
  • 验证部署

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

升级 knowledgebase service

请再次确认数据库已备份完成,再进行 knowledgebase service 的部署工作!!!

  • 升级服务

    1. helm upgrade knowledgebase-service c7n/knowledgebase-service \
    2. --reuse-values \
    3. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://choerodon-register.c7n-system:8000/eureka/ \
    4. --version 0.23.1 \
    5. --namespace c7n-system
  • 验证部署

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

DevOps服务升级

升级gitlab service

  • 升级gitlab-service

    1. helm upgrade gitlab-service c7n/gitlab-service \
    2. --reuse-values \
    3. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://choerodon-register.c7n-system:8000/eureka/ \
    4. --set SPRING_CLOUD_CONFIG_ENABLED=false \
    5. --version 0.23.7 \
    6. --namespace c7n-system
  • 验证升级

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

升级workflow service

  • 升级workflow-service

    1. helm upgrade workflow-service c7n/workflow-service \
    2. --reuse-values \
    3. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://choerodon-register.c7n-system:8000/eureka/ \
    4. --set SPRING_CLOUD_CONFIG_ENABLED=false \
    5. --version 0.23.1 \
    6. --namespace c7n-system
  • 验证升级

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

升级devops service

  • 升级devops-service:

    1. helm upgrade devops-service c7n/devops-service \
    2. --reuse-values \
    3. --set env.open.AGENT_VERSION="0.23.4" \
    4. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://choerodon-register.c7n-system:8000/eureka/ \
    5. --set SERVICES_SONARQUBE_PASSWORD=admin
    6. --set SERVICES_SONARQUBE_URL=https://sonarqube.example.choerodon.io
    7. --set SERVICES_SONARQUBE_USERNAME=admin
    8. --version 0.23.6 \
    9. --namespace c7n-system
    • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=devops-service -o jsonpath="{.items[0].status.podIP}"):8061/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

制品库安装

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

创建数据库

  • 编写参数配置文件 create-c7nrepo-db.yaml

    1. env:
    2. MYSQL_HOST: c7n-mysql.c7n-system.svc
    3. MYSQL_PORT: "3306"
    4. MYSQL_USER: root
    5. MYSQL_PASS: password
    6. SQL_SCRIPT: |
    7. CREATE USER IF NOT EXISTS 'choerodon'@'%' IDENTIFIED BY 'password';
    8. CREATE DATABASE IF NOT EXISTS hrds_code_repo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    9. CREATE DATABASE IF NOT EXISTS hrds_prod_repo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    10. GRANT ALL PRIVILEGES ON hrds_code_repo.* TO choerodon@'%';
    11. GRANT ALL PRIVILEGES ON hrds_prod_repo.* TO choerodon@'%';
    12. FLUSH PRIVILEGES;
  • 执行安装

    1. helm upgrade --install create-c7nrepo-db c7n/mysql-client \
    2. -f create-c7nrepo-db.yaml \
    3. --create-namespace \
    4. --version 0.1.0 \
    5. --namespace c7n-system

部署 code repo service

  • 若需了解项目详情及各项参数含义,请移步 open-hand/code-repo-service

  • 编写参数配置文件 code-repo-service.yaml

    1. env:
    2. open:
    3. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    4. GITLAB_PRIVATETOKEN: YrAUZrvXDuqwcmDSz
    5. GITLAB_URL: http://gitlab.example.choerodon.io
    6. SPRING_DATASOURCE_PASSWORD: password
    7. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hrds_code_repo?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    8. SPRING_DATASOURCE_USERNAME: choerodon
    9. SPRING_REDIS_DATABASE: 0
    10. SPRING_REDIS_HOST: c7n-redis.c7n-system
    11. SPRING_REDIS_PORT: 6379
    12. preJob:
    13. image: registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.7.2
    14. preInitDB:
    15. datasource:
    16. driver: com.mysql.jdbc.Driver
    17. password: password
    18. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    19. username: choerodon
    20. enabled: true
    21. datasources:
    22. # 初始化菜单数据
    23. platform:
    24. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    25. username: choerodon
    26. password: password
    27. driver: com.mysql.jdbc.Driver
    28. timeout: 1200
  • 部署服务

    1. helm upgrade --install code-repo-service c7n/code-repo-service \
    2. -f code-repo-service.yaml \
    3. --version 0.23.1 \
    4. --namespace c7n-system
  • 验证部署

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

部署 prod-repo-service

  • 若需了解项目详情及各项参数含义,请移步 open-hand/prod-repo-service
  • 编写参数配置文件 prod-repo-service.yaml

    1. env:
    2. open:
    3. EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://choerodon-register.c7n-system:8000/eureka/
    4. # devops的数据库 迁移数据使用 只会在0.23版本使用
    5. HARBOR_INIT_CUSTOM_REPO_PASSWORD: password
    6. HARBOR_INIT_CUSTOM_REPO_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/devops_service?useUnicode=true&characterEncoding=utf-8&useSSL=false
    7. HARBOR_INIT_CUSTOM_REPO_USERNAME: choerodon
    8. # platform的数据库 迁移数据使用 只会在0.23版本使用
    9. HARBOR_INIT_DEFAULT_REPO_PASSWORD: Uc9Cw6gDyJPL
    10. HARBOR_INIT_DEFAULT_REPO_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hzero_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false
    11. HARBOR_INIT_DEFAULT_REPO_USERNAME: choerodon
    12. HARBOR_BASE_URL: https://registry.example.choerodon.io
    13. HARBOR_PASSWORD: Harbor12345
    14. HARBOR_USER_NAME: admin
    15. SPRING_DATASOURCE_PASSWORD: password
    16. SPRING_DATASOURCE_URL: jdbc:mysql://c7n-mysql.c7n-system:3306/hrds_prod_repo?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    17. SPRING_DATASOURCE_USERNAME: choerodon
    18. SPRING_REDIS_DATABASE: 0
    19. SPRING_REDIS_HOST: c7n-redis.c7n-system
    20. SPRING_REDIS_PORT: 6379
    21. ##系统默认nexus服务地址
    22. NEXUS_DEFAULT_BASE_URL: http://nexus.example.choerodon.io
    23. #系统默认nexus服务,超级管理员用户
    24. NEXUS_DEFAULT_USER_NAME: admin
    25. #系统默认nexus服务,超级管理员用户密码
    26. NEXUS_DEFAULT_PASSWORD: admin
    27. #系统默认nexus服务,是否启用仓库级的匿名访问控制。 1:启用 0:不启用
    28. NEXUS_DEFAULT_ENABLE_ANONYMOUS_FLAG: 0
    29. #系统默认nexus服务,启用仓库级的匿名访问控制时需要配置该值(即enableAnonymousFlag==1时)。 nexus服务开启全局匿名访问时,配置的用户
    30. NEXUS_DEFAULT_ANONYMOUS_USER: test
    31. #系统默认nexus服务,启用仓库级的匿名访问控制时需要配置该值(即enableAnonymousFlag==1时)。 nexus服务开启全局匿名访问时,配置的用户对应的角色
    32. NEXUS_DEFAULT_ANONYMOUS_ROLE: test
    33. preJob:
    34. image: registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.7.1
    35. preInitDB:
    36. datasource:
    37. driver: com.mysql.jdbc.Driver
    38. password: password
    39. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    40. username: choerodon
    41. datasources:
    42. # 多数据源初始化
    43. platform:
    44. url: jdbc:mysql://c7n-mysql.c7n-system:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai
    45. username: choerodon
    46. password: password
    47. driver: com.mysql.jdbc.Driver
    48. enabled: true
    49. timeout: 1200
  • 部署服务

    1. helm upgrade --install prod-repo-service c7n/prod-repo-service \
    2. -f prod-repo-service.yaml \
    3. --version 0.22.1 \
    4. --namespace c7n-system
  • 验证部署

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

整合前端升级

升级hzero-front

  • 编写参数配置文件 hzero-front.yaml

    1. env:
    2. open:
    3. BUILD_CLIENT_ID: choerodon
    4. BUILD_API_HOST: http://api.example.choerodon.io
    5. ingress:
    6. enabled: true
    7. host: hzero.example.choerodon.io
  • 部署服务

  1. helm upgrade --install hzero-front c7n/hzero-front \
  2. -f hzero-front.yaml \
  3. --version 0.23.0 \
  4. --namespace c7n-system
  • 验证部署

    • 验证命令

      1. curl $(kubectl get svc hzero-front -o jsonpath="{.spec.clusterIP}" -n c7n-system):80
    • 出现以下类似信息即为成功部署

      1. !doctype html><html lang="zh"><head><meta charset="utf-8"/><title>HZERO</title><link rel="shortcut icon" href="/manifest.json"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="format-detection" content="telephone=no"/>...

升级choerodon-front

  • 升级服务

    1. helm upgrade choerodon-front c7n/choerodon-front \
    2. --reuse-values \
    3. -f choerodon-front.yaml \
    4. --version 0.23.0 \
    5. --namespace c7n-system
  • 验证升级

    • 验证命令
    1. curl $(kubectl get svc choerodon-front -o jsonpath="{.spec.clusterIP}" -n c7n-system):8080
    • 出现以下类似信息即为成功升级
    1. <!DOCTYPE html><html><head><meta http-equiv="Content-type"content="text/html; charset=utf-8"><title>Choerodon</title><link rel="shortcut icon"href="favicon.ico"></head><body><div id="app"></div><script type="text/javascript"src="app/vendor_19e4b950.js"></script><script type="text/javascript"src="app/main_19e4b950.js"></script></body></html>

    默认登录用户

    升级完成后,默认的管理员用户名密码为 [admin/Admin@123!],可使用此用户密码登陆系统。安装完成后建议立即在个人中心修改默认密码。