如何避免在 Jenkins 中为 bat 命令插值敏感变量
How to avoid interpolation of sensitive variables for a bat command in Jenkins
在 Linux 上,您可以用单引号替换双引号以避免插值。
// WRONG!
sh("curl -u ${EXAMPLE_CREDS_USR}:${EXAMPLE_CREDS_PSW} https://example.com/")
// CORRECT!
sh('curl -u $EXAMPLE_CREDS_USR:$EXAMPLE_CREDS_PSW https://example.com/')
但是,在 Windows 上,我无法正常工作。
下一个命令将起作用:
bat "mvn ${MAVENARGS} package -Ddlc=${DLC}"
但是下一个命令不起作用:
bat 'mvn $MAVENARGS package -Ddlc=$DLC'
那么如何为 bat 脚本执行此操作?
应该是
bat 'mvn %MAVENARGS% package -Ddlc=%DLC%'
在 Windows。
在 Linux 上,您可以用单引号替换双引号以避免插值。
// WRONG!
sh("curl -u ${EXAMPLE_CREDS_USR}:${EXAMPLE_CREDS_PSW} https://example.com/")
// CORRECT!
sh('curl -u $EXAMPLE_CREDS_USR:$EXAMPLE_CREDS_PSW https://example.com/')
但是,在 Windows 上,我无法正常工作。
下一个命令将起作用:
bat "mvn ${MAVENARGS} package -Ddlc=${DLC}"
但是下一个命令不起作用:
bat 'mvn $MAVENARGS package -Ddlc=$DLC'
那么如何为 bat 脚本执行此操作?
应该是
bat 'mvn %MAVENARGS% package -Ddlc=%DLC%'
在 Windows。