如何使用 echo 在 Jenkins 的 Execute Shell 中传递参数化值?



我正在使用Jenkins运行Cypress测试套件。我已经创建了运行整个套件的CCD_ 1脚本;它运行得很好:

cd frontend
node --version
yarn install
echo '{ "USERNAME": "redacted-harcoded-username", "PASSWORD": "redacted-harcoded-password", BASE_URL: "redacted-harcoded-baseURl" }' > cypress.env.json
yarn cypress:run

然而,我传递了一些詹金斯的参数,比如:

cd frontend
node --version
yarn install
echo `{ "USERNAME": ${USERNAME}, "PASSWORD": ${PASSWORD}, BASE_URL: ${BASE_URL} }` > cypress.env.json
yarn cypress:run --spec ${SPECS_TO_RUN}

不幸的是,当使用echo时,我需要切换单引号才能传递动态值,如下所示:

echo `{ "USERNAME": ${USERNAME}, "PASSWORD": ${PASSWORD}, BASE_URL: ${BASE_URL} }` > cypress.env.json

这导致我的命令失败&给我一个错误,我的json文件无效。有解决这个问题的办法吗?

我能够找到使用以下bash转义组合的解决方案:

echo { "USERNAME": "${USERNAME}", "PASSWORD": "${PASSWORD}", "BASE_URL": "${BASE_URL}"  } > cypress.env.json

相关内容

  • 没有找到相关文章

最新更新