zentao(禅道)插件

该插件将通过client-go库在 Kubernetes 集群中安装禅道应用.

注意:

  • 使用该插件之前,用户需要准备好 Kubernetes 集群,并正确设置 KUBECONFIG 配置。本地测试时,用户可以通过hack/e2e/e2e-up.sh创建临时 Kubernetes 集群。
  • 用户可以根据自己的需求修改以下配置文件中的字段,所有列出的字段都需要被设置。
  • 该插件暂时不支持运行在arm64 CPU 架构上;在amd64 CPU 架构上运行正常。

用法示例

下面的配置文件展示的是”tool file”的内容。

关于更多关于DevStream的主配置、tool file、var file的信息,请阅读核心概念概览DevStream配置.

YAML

  1. config:
  2. state:
  3. backend: local
  4. options:
  5. stateFile: devstream.state
  6. tools:
  7. # name of the tool
  8. - name: zentao
  9. # id of the tool instance
  10. instanceID: default
  11. # format: name.instanceID; If specified, dtm will make sure the dependency is applied first before handling this tool
  12. dependsOn: []
  13. # options for the plugin
  14. options:
  15. # namespace for ZenTao application
  16. namespace: 'zentao'
  17. # storageClassName used to match pv and pvc
  18. storageClassName: 'zentao-storage'
  19. # two PersistentVolumes for ZenTao and mysql should be specified
  20. persistentVolumes:
  21. # name of ZenTao pv
  22. - pvName: "zentao-pv"
  23. # capacity of ZenTao pv
  24. pvCapacity: "1G"
  25. # name of mysql pv
  26. - pvName: "mysql-pv"
  27. # capacity of mysql pv
  28. pvCapacity: "1G"
  29. # two PersistentVolumeClaims for ZenTao and mysql should be specified
  30. persistentVolumeClaims:
  31. # name of ZenTao pvc
  32. - pvcName: "zentao-pvc"
  33. # capacity of ZenTao pvc
  34. pvcCapacity: "1G"
  35. # name of mysql pvc
  36. - pvcName: "mysql-pvc"
  37. # capacity of mysql pvc
  38. pvcCapacity: "1G"
  39. # ZenTao application is deployed by K8s Deployment
  40. deployment:
  41. # name of ZenTao deployment
  42. name: 'zentao-dp'
  43. # number of application replica
  44. replicas: 1
  45. # ZenTao image
  46. image: 'easysoft/zentao:latest'
  47. envs:
  48. - key: 'MYSQL_ROOT_PASSWORD'
  49. # initial password value for mysql database, you can specify any value you like
  50. value: '123456'
  51. # ZenTao application is exposed via K8s Service
  52. service:
  53. # name of ZenTao service
  54. name: 'zentao-svc'
  55. # nodePort of ZenTao service, currently ZenTao plugin only support `nodePort` type
  56. nodePort: 30081

部署

第一步:准备一个 Kubernetes 集群

  • 如果已经部署 Kubernetes 集群环境,可以忽略第一步。
  • 如果尚未部署 Kubernetes 集群环境,可以使用脚本hack/e2e/e2e-up.sh来创建一个 Kubernetes 测试环境,该脚本会基于Kind创建集群。

Bash

  1. bash hack/e2e/e2e-up.sh

第二步:利用配置文件创建禅道应用

  • 根据上面提供的示例用法创建一个zentao.yaml.

Bash

  1. ./dtm apply -f zentao.yaml --debug

第三步:初始化禅道应用

  1. 浏览器访问http://NodeIP:NodePort(“NodeIP”与”NodePort”对应 Kubernets 节点IP和节点端口)来初始化禅道服务。点击开始安装按钮进入下一步。 zentao(禅道)插件 - 图1

  2. 针对系统检查步骤,用户不需要做任何操作,系统检查会自动完成。如果存在未通过的检查项,请确保之前的部署流程均按照上述文档指示进行。如果仍不能解决问题,请在社区新建 issue 来跟踪相关问题。 zentao(禅道)插件 - 图2

  3. 数据库部署步骤只需在数据库密码栏填入之前设置的options.deployment.mysqlPasswdValue值。 zentao(禅道)插件 - 图3

  4. 如果上述所有操作均成功完成,这时将展示禅道应用介绍界面。 zentao(禅道)插件 - 图4

  5. 填写用户的公司信息并创建管理员账户,然后点击保存zentao(禅道)插件 - 图5

  6. 至此,禅道服务就部署成功啦! zentao(禅道)插件 - 图6