service-registry.groovy 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * 七个 Java 微�务注册表。��务 Jenkinsfile �whole/Jenkinsfile 共用�
  3. * 新增�务时:在此列表增加一项,并��produ/<prodDir>/Jenkinsfile�
  4. */
  5. def getServiceRegistry() {
  6. return [
  7. [prodDir: 'gateway', module: 'alien-gateway', serverPort: '8000', withLib: false, deployName: 'gateway'],
  8. [prodDir: 'store', module: 'alien-store', serverPort: '50014', withLib: true, deployName: 'store'],
  9. [prodDir: 'second', module: 'alien-second', serverPort: '50015', withLib: false, deployName: 'second'],
  10. [prodDir: 'store-platform', module: 'alien-store-platform', serverPort: '50016', withLib: false, deployName: 'store-platform'],
  11. [prodDir: 'lawyer', module: 'alien-lawyer', serverPort: '50017', withLib: true, deployName: 'lawyer'],
  12. [prodDir: 'job', module: 'alien-job', serverPort: '50108', withLib: false, deployName: 'job'],
  13. [prodDir: 'dining', module: 'alien-dining', serverPort: '50019', withLib: false, deployName: 'dining'],
  14. ]
  15. }
  16. def multiParamName(String prodDir) {
  17. return 'MULTI_' + prodDir.replace('-', '_')
  18. }
  19. def filterServices(List registry, Map params) {
  20. def mode = params.DEPLOY_MODE
  21. if (mode == 'whole') {
  22. return registry
  23. }
  24. if (mode == 'single') {
  25. def one = registry.find { it.prodDir == params.SINGLE_SERVICE }
  26. if (one == null) {
  27. throw new IllegalArgumentException("未找�SINGLE_SERVICE=${params.SINGLE_SERVICE}")
  28. }
  29. return [one]
  30. }
  31. if (mode == 'multi') {
  32. def selected = []
  33. registry.each { s ->
  34. def pn = multiParamName(s.prodDir)
  35. def v = params[pn]
  36. if (v instanceof Boolean ? v : 'true'.equalsIgnoreCase(v?.toString())) {
  37. selected << s
  38. }
  39. }
  40. if (selected.isEmpty()) {
  41. throw new IllegalArgumentException('multi 模�:请至少勾选一�MULTI_*')
  42. }
  43. return selected
  44. }
  45. throw new IllegalArgumentException("未知 DEPLOY_MODE: ${mode}")
  46. }
  47. return this