Jenkinsfile 1.3 KB

123456789101112131415161718192021222324252627282930
  1. properties([
  2. parameters([
  3. // New preferred params:
  4. string(name: 'baseBranch', defaultValue: 'dev', description: '分支名(如 master, dev)'),
  5. choice(name: 'namespace', choices: ['default', 'test'], description: 'K8S namespace(如 default)'),
  6. choice(name: 'action', choices: ['upgrade', 'upgrade:selected'], description: '选择操作类型')
  7. // Backward compatible legacy param:
  8. // string(name: 'actionParameter', defaultValue: 'refs/heads/dev', description: '参数路径(如 refs/heads/dev)')
  9. ])
  10. ])
  11. node {
  12. checkout scm
  13. def deployAction = params.action ?: 'upgrade'
  14. def deployBaseBranch = params.baseBranch ?: 'dev'
  15. def deployNamespace = params.namespace ?: 'default'
  16. def yaml2Map = load "./sharedLibs/yaml2Map.groovy"
  17. def stages = load "./sharedLibs/stages.k8s.groovy"
  18. def pipeline = load "./sharedLibs/pipelines.k8s.java.groovy"
  19. def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project
  20. def WORKING_SPACE = 'ahx-oidc/DEV'
  21. dir(WORKING_SPACE) {
  22. def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project
  23. def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG)
  24. CONFIG.pipeline = PROJECT_CONFIG.pipeline
  25. println 'configs: ' + CONFIG
  26. pipeline.run(CONFIG, deployAction, stages, deployBaseBranch, deployNamespace)
  27. }
  28. }