feat(ci): 模块选择改为复选框,每个模块独立勾选
这个提交包含在:
父节点
780e6b8676
当前提交
d57a6417ca
33
Jenkinsfile
vendored
33
Jenkinsfile
vendored
@ -17,9 +17,14 @@ pipeline {
|
||||
string(name: 'FILE_VERSION', defaultValue: '', description: 'XuqmFileSDK 自定义版本号')
|
||||
string(name: 'WEBVIEW_VERSION', defaultValue: '', description: 'XuqmWebViewSDK 自定义版本号')
|
||||
|
||||
// ── 模块选择 ────────────────────────────────────────────────────────
|
||||
text(name: 'MODULES', defaultValue: 'core\nim\npush\nupdate\nlicense\nfile\nwebview',
|
||||
description: '要发布的模块,每行一个。可选: core im push update license file webview')
|
||||
// ── 模块选择(勾选即发布)─────────────────────────────────────────
|
||||
booleanParam(name: 'MOD_CORE', defaultValue: true, description: '发布 XuqmCoreSDK')
|
||||
booleanParam(name: 'MOD_IM', defaultValue: true, description: '发布 XuqmImSDK')
|
||||
booleanParam(name: 'MOD_PUSH', defaultValue: true, description: '发布 XuqmPushSDK')
|
||||
booleanParam(name: 'MOD_UPDATE', defaultValue: true, description: '发布 XuqmUpdateSDK')
|
||||
booleanParam(name: 'MOD_LICENSE', defaultValue: true, description: '发布 XuqmLicenseSDK')
|
||||
booleanParam(name: 'MOD_FILE', defaultValue: true, description: '发布 XuqmFileSDK')
|
||||
booleanParam(name: 'MOD_WEBVIEW', defaultValue: true, description: '发布 XuqmWebViewSDK')
|
||||
|
||||
// ── 构建选项 ────────────────────────────────────────────────────────
|
||||
booleanParam(name: 'RUN_TESTS', defaultValue: true, description: '是否运行单元测试')
|
||||
@ -50,15 +55,19 @@ pipeline {
|
||||
script {
|
||||
env.GIT_COMMIT_SHORT = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
|
||||
|
||||
// ── 解析选中的模块 ──────────────────────────────────────
|
||||
def allValid = ['core', 'im', 'push', 'update', 'license', 'file', 'webview']
|
||||
def requested = params.MODULES
|
||||
.tokenize('\n, ')
|
||||
.collect { it.trim().toLowerCase() }
|
||||
.findAll { it }
|
||||
def invalid = requested - allValid
|
||||
if (invalid) {
|
||||
error "Unknown module(s): ${invalid}. Valid values: ${allValid}"
|
||||
// ── 根据复选框收集选中的模块 ──────────────────────────
|
||||
def moduleChecks = [
|
||||
'core': params.MOD_CORE,
|
||||
'im': params.MOD_IM,
|
||||
'push': params.MOD_PUSH,
|
||||
'update': params.MOD_UPDATE,
|
||||
'license': params.MOD_LICENSE,
|
||||
'file': params.MOD_FILE,
|
||||
'webview': params.MOD_WEBVIEW,
|
||||
]
|
||||
def requested = moduleChecks.findAll { k, v -> v }.collect { k, v -> k }
|
||||
if (requested.isEmpty()) {
|
||||
error "没有选择任何模块,请至少勾选一个"
|
||||
}
|
||||
env.SELECTED_MODULES = requested.join(',')
|
||||
echo "Selected modules: ${env.SELECTED_MODULES}"
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户