diff --git a/Jenkinsfile b/Jenkinsfile index bbdcc3b..968f22f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -135,24 +135,27 @@ pipeline { [ -f "\\$HOME/.zshrc" ] && source "\\$HOME/.zshrc" > /dev/null 2>&1 cd apps/${currentApp} - if [ "${params.CLEAN_BUILD}" = "true" ]; then + # 先写入 shell 变量,避免 GString 里出现 "\${params.xxx}" 触发 Groovy 解析错误 + CLEAN_BUILD='${params.CLEAN_BUILD}' + VERSION_NAME='${params.VERSION_NAME}' + BUILD_NUMBER='${params.BUILD_NUMBER}' + BUILD_ENV='${params.BUILD_ENVIRONMENT}' + + if [ "\$CLEAN_BUILD" = "true" ]; then echo " - 执行 flutter clean..." fvm flutter clean fi fvm flutter pub get - # 拼接附加构建参数 (Groovy 中 \$ 转义 $,避免被当作 Jenkins 变量插值) EXTRA_ARGS="" - if [ ! -z "${params.VERSION_NAME}" ]; then - EXTRA_ARGS="\$EXTRA_ARGS --build-name=${params.VERSION_NAME}" + if [ -n "\$VERSION_NAME" ]; then + EXTRA_ARGS="\$EXTRA_ARGS --build-name=\$VERSION_NAME" fi - if [ ! -z "${params.BUILD_NUMBER}" ]; then - EXTRA_ARGS="\$EXTRA_ARGS --build-number=${params.BUILD_NUMBER}" + if [ -n "\$BUILD_NUMBER" ]; then + EXTRA_ARGS="\$EXTRA_ARGS --build-number=\$BUILD_NUMBER" fi - - # 注入环境变量参数用于代码判断 (如需要) - EXTRA_ARGS="\$EXTRA_ARGS --dart-define=APP_ENV=${params.BUILD_ENVIRONMENT}" + EXTRA_ARGS="\$EXTRA_ARGS --dart-define=APP_ENV=\$BUILD_ENV" echo " - 开始构建 APK 参数: \$EXTRA_ARGS" fvm flutter build apk --release \$EXTRA_ARGS