使用 Dubbo-go 应用模板

1. 准备工作

  • dubbo-go cli 工具和依赖工具已安装

2. 使用 dubbogo-cli 创建项目模板

运行 dubbogo-cli newApp .

  1. $ mkdir cli-create-server
  2. $ cd cli-create-server
  3. $ dubbogo-cli newApp .
  4. $ tree .
  5. .
  6. ├── Makefile
  7. ├── api
  8. └── api.proto
  9. ├── build
  10. └── Dockerfile
  11. ├── chart
  12. ├── app
  13. ├── Chart.yaml
  14. ├── templates
  15. ├── _helpers.tpl
  16. ├── deployment.yaml
  17. ├── service.yaml
  18. └── serviceaccount.yaml
  19. └── values.yaml
  20. └── nacos_env
  21. ├── Chart.yaml
  22. ├── templates
  23. ├── _helpers.tpl
  24. ├── deployment.yaml
  25. └── service.yaml
  26. └── values.yaml
  27. ├── cmd
  28. └── app.go
  29. ├── conf
  30. └── dubbogo.yaml
  31. ├── go.mod
  32. ├── go.sum
  33. └── pkg
  34. └── service
  35. └── service.go

生成项目包括几个目录:

  • api:放置接口文件:proto文件和生成的pb.go文件

  • build:放置构建相关文件

  • chart:放置发布用 chart 包、基础环境 chart 包:nacos、mesh(开发中)

  • cmd:程序入口

  • conf:框架配置

  • pkg/service:RPC 服务实现

  • Makefile:

    • 镜像、应用名:

      • IMAGE = $(your_repo)/$(namespace)/$(image_name) TAG = 1.0.0

      • APPNAME = dubbo-go-app # 用于 helm 发布,对应 chart 名、应用名和服务名(service名)

    • 提供脚本,例如:

      • make build # 打包镜像并推送

      • make buildx-publish # arm 架构本地打包amd64镜像并推送,依赖 docker buildx

      • make deploy # 通过 helm 发布应用

      • make remove # 删除已经发布的 helm 应用

      • make proto-gen # api/ 下生成 pb.go 文件

最后修改 December 16, 2022: Fix check (#1736) (97972c1)