Jenkins 构建参数在引号中不起作用

Jenkins build parameter not working in quotes

我正在尝试使用 docker 发出 jenkins shell 命令,如下所示:

docker 运行 -v ${env.param1}:/workspace --privileged=true app sh -c 'python app.py --option ${env.param1}'

...结果如下所示:

docker 运行 -v actual.param1:/workspace --privileged=true app sh -c 'cd folder && python app.py --option ${env.param2}'

第一个环境参数${env.param1}成功替换为实际参数,但第二个${env.param2}没有。在我看来,因为第二个 ${env.param2} 在单引号内,jenkins 没有替换参数。

感谢您的阅读,非常感谢您的帮助!!

docker run -v ${env.param1}:/workspace --privileged=true app sh -c 'python app.py --option ${env.param1}'

您在 ' 的内部传递 ${env.param1}(单引号),因此它没有被评估,请更改您的命令以改为使用双引号:

docker run -v ${env.param1}:/workspace --privileged=true app sh -c "python app.py --option ${env.param1}"