From ca73202b7d76b02ed48720cb0c00c68c37334fb2 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Sat, 23 May 2026 01:28:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(ci):=20=E6=A8=A1=E5=9D=97=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=94=B9=E4=B8=BA=E5=A4=8D=E9=80=89=E6=A1=86=EF=BC=8C?= =?UTF-8?q?=E6=AF=8F=E4=B8=AA=E6=A8=A1=E5=9D=97=E7=8B=AC=E7=AB=8B=E5=8B=BE?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5e133f3..a50a9f0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,9 +27,13 @@ pipeline { string(name: 'XWEBVIEW_VERSION',defaultValue: '', description: '@xuqm/rn-xwebview 自定义版本号') string(name: 'LICENSE_VERSION', defaultValue: '', description: '@xuqm/rn-license 自定义版本号') - // ── 模块选择(每行一个)────────────────────────────────────────── - text(name: 'MODULES', defaultValue: 'common\nim\npush\nupdate\nxwebview\nlicense', - description: '要发布的模块,每行一个。可选: common im push update xwebview license') + // ── 模块选择(勾选即发布)────────────────────────────────────────── + booleanParam(name: 'MOD_COMMON', defaultValue: true, description: '发布 @xuqm/rn-common') + booleanParam(name: 'MOD_IM', defaultValue: true, description: '发布 @xuqm/rn-im') + booleanParam(name: 'MOD_PUSH', defaultValue: true, description: '发布 @xuqm/rn-push') + booleanParam(name: 'MOD_UPDATE', defaultValue: true, description: '发布 @xuqm/rn-update') + booleanParam(name: 'MOD_XWEBVIEW', defaultValue: true, description: '发布 @xuqm/rn-xwebview') + booleanParam(name: 'MOD_LICENSE', defaultValue: true, description: '发布 @xuqm/rn-license') } stages { @@ -49,8 +53,7 @@ pipeline { returnStdout: true ).trim() - // ── 解析选中的模块 ────────────────────────────────────────── - // 映射:参数名 → [目录, npm包名, 版本参数值] + // ── 根据复选框收集选中的模块 ────────────────────────────── def moduleMap = [ common: ['packages/common', '@xuqm/rn-common', params.COMMON_VERSION], im: ['packages/im', '@xuqm/rn-im', params.IM_VERSION], @@ -60,13 +63,18 @@ pipeline { license: ['packages/license', '@xuqm/rn-license', params.LICENSE_VERSION], ] - def requestedModules = params.MODULES - .split(/\r?\n/) - .collect { it.trim() } - .findAll { it && moduleMap.containsKey(it) } + def moduleChecks = [ + 'common': params.MOD_COMMON, + 'im': params.MOD_IM, + 'push': params.MOD_PUSH, + 'update': params.MOD_UPDATE, + 'xwebview': params.MOD_XWEBVIEW, + 'license': params.MOD_LICENSE, + ] + def requestedModules = moduleChecks.findAll { k, v -> v }.collect { k, v -> k } if (requestedModules.isEmpty()) { - error "MODULES param is empty or contains no valid module names." + error "没有选择任何模块,请至少勾选一个" } // 保存为逗号分隔的环境变量供后续阶段使用