feat(ci): 模块选择改为复选框,每个模块独立勾选
这个提交包含在:
父节点
174555fa53
当前提交
ca73202b7d
28
Jenkinsfile
vendored
28
Jenkinsfile
vendored
@ -27,9 +27,13 @@ pipeline {
|
|||||||
string(name: 'XWEBVIEW_VERSION',defaultValue: '', description: '@xuqm/rn-xwebview 自定义版本号')
|
string(name: 'XWEBVIEW_VERSION',defaultValue: '', description: '@xuqm/rn-xwebview 自定义版本号')
|
||||||
string(name: 'LICENSE_VERSION', defaultValue: '', description: '@xuqm/rn-license 自定义版本号')
|
string(name: 'LICENSE_VERSION', defaultValue: '', description: '@xuqm/rn-license 自定义版本号')
|
||||||
|
|
||||||
// ── 模块选择(每行一个)──────────────────────────────────────────
|
// ── 模块选择(勾选即发布)──────────────────────────────────────────
|
||||||
text(name: 'MODULES', defaultValue: 'common\nim\npush\nupdate\nxwebview\nlicense',
|
booleanParam(name: 'MOD_COMMON', defaultValue: true, description: '发布 @xuqm/rn-common')
|
||||||
description: '要发布的模块,每行一个。可选: common im push update xwebview license')
|
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 {
|
stages {
|
||||||
@ -49,8 +53,7 @@ pipeline {
|
|||||||
returnStdout: true
|
returnStdout: true
|
||||||
).trim()
|
).trim()
|
||||||
|
|
||||||
// ── 解析选中的模块 ──────────────────────────────────────────
|
// ── 根据复选框收集选中的模块 ──────────────────────────────
|
||||||
// 映射:参数名 → [目录, npm包名, 版本参数值]
|
|
||||||
def moduleMap = [
|
def moduleMap = [
|
||||||
common: ['packages/common', '@xuqm/rn-common', params.COMMON_VERSION],
|
common: ['packages/common', '@xuqm/rn-common', params.COMMON_VERSION],
|
||||||
im: ['packages/im', '@xuqm/rn-im', params.IM_VERSION],
|
im: ['packages/im', '@xuqm/rn-im', params.IM_VERSION],
|
||||||
@ -60,13 +63,18 @@ pipeline {
|
|||||||
license: ['packages/license', '@xuqm/rn-license', params.LICENSE_VERSION],
|
license: ['packages/license', '@xuqm/rn-license', params.LICENSE_VERSION],
|
||||||
]
|
]
|
||||||
|
|
||||||
def requestedModules = params.MODULES
|
def moduleChecks = [
|
||||||
.split(/\r?\n/)
|
'common': params.MOD_COMMON,
|
||||||
.collect { it.trim() }
|
'im': params.MOD_IM,
|
||||||
.findAll { it && moduleMap.containsKey(it) }
|
'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()) {
|
if (requestedModules.isEmpty()) {
|
||||||
error "MODULES param is empty or contains no valid module names."
|
error "没有选择任何模块,请至少勾选一个"
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存为逗号分隔的环境变量供后续阶段使用
|
// 保存为逗号分隔的环境变量供后续阶段使用
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户