You need to enable JavaScript to run this app. Jenkins Pipeline中sh命令参数如何插入变量替换文件名部分内容
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline中sh命令参数如何插入变量替换文件名部分内容

问题根源

Groovy的字符串模板(GString)中,$后面紧跟的连续合法标识符会被整体识别为变量名,你当前写法里的.json属于合法标识符字符,因此会被Groovy判定为变量e2eEnvironment.json的一部分,导致变量查找失败。

解决方案

用花括号{}明确包裹变量名,划定变量的识别边界,正确写法如下:

sh "npx cypress run --config-file cypress/cypress.${e2eEnvironment}.json --env ${envCredentials} || true"

当e2eEnvironment值为integration时,Groovy会先将字符串模板渲染为:
npx cypress run --config-file cypress/cypress.integration.json --env [你的envCredentials对应值] || true
再传给shell执行,完全符合需求。

内容的提问来源于stack exchange,提问作者mindparse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 03:15:02