properties([ parameters([ // New preferred params: string(name: 'baseBranch', defaultValue: 'ahx-dev', description: '分支名(如 master, dev)'), choice(name: 'namespace', choices: ['default', 'test'], description: 'K8S namespace(如 default)'), choice(name: 'action', choices: ['upgrade', 'upgrade:selected'], description: '选择操作类型') // Backward compatible legacy param: // string(name: 'actionParameter', defaultValue: 'refs/heads/dev', description: '参数路径(如 refs/heads/dev)') ]) ]) node { checkout scm def deployAction = params.action ?: 'upgrade' def deployBaseBranch = params.baseBranch ?: 'dev' def deployNamespace = params.namespace ?: 'default' def yaml2Map = load "./sharedLibs/yaml2Map.groovy" def stages = load "./sharedLibs/stages.k8s.groovy" def pipeline = load "./sharedLibs/pipelines.k8s.java.groovy" def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project def WORKING_SPACE = 'ahx-oidc/DEV' dir(WORKING_SPACE) { def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG) CONFIG.pipeline = PROJECT_CONFIG.pipeline println 'configs: ' + CONFIG pipeline.run(CONFIG, deployAction, stages, deployBaseBranch, deployNamespace) } }