From 0bfb1e67e0512217b9fa23cb56b6a1d86ff01a11 Mon Sep 17 00:00:00 2001 From: YuanXuan Date: Tue, 24 Mar 2026 10:17:26 +0800 Subject: [PATCH] fix(ci): escape EXTRA_ARGS in Jenkinsfile GString Groovy interpolated $EXTRA_ARGS as a pipeline binding property, which raised MissingPropertyException and skipped flutter build apk. Prefix dollar signs with backslash so the shell receives literal $EXTRA_ARGS. Made-with: Cursor --- Jenkinsfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 57d473c..bbdcc3b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -142,20 +142,20 @@ pipeline { fvm flutter pub get - # 拼接附加构建参数 + # 拼接附加构建参数 (Groovy 中 \$ 转义 $,避免被当作 Jenkins 变量插值) EXTRA_ARGS="" if [ ! -z "${params.VERSION_NAME}" ]; then - EXTRA_ARGS="\\$EXTRA_ARGS --build-name=${params.VERSION_NAME}" + EXTRA_ARGS="\$EXTRA_ARGS --build-name=${params.VERSION_NAME}" fi if [ ! -z "${params.BUILD_NUMBER}" ]; then - EXTRA_ARGS="\\$EXTRA_ARGS --build-number=${params.BUILD_NUMBER}" + EXTRA_ARGS="\$EXTRA_ARGS --build-number=${params.BUILD_NUMBER}" fi # 注入环境变量参数用于代码判断 (如需要) - EXTRA_ARGS="\\$EXTRA_ARGS --dart-define=APP_ENV=${params.BUILD_ENVIRONMENT}" + EXTRA_ARGS="\$EXTRA_ARGS --dart-define=APP_ENV=${params.BUILD_ENVIRONMENT}" - echo " - 开始构建 APK 参数: \\$EXTRA_ARGS" - fvm flutter build apk --release \\$EXTRA_ARGS + echo " - 开始构建 APK 参数: \$EXTRA_ARGS" + fvm flutter build apk --release \$EXTRA_ARGS """ echo " ✅ ${currentApp} Android APK 构建完成" }