Jenkins构建参数不能在引号中工作

时间:2015-04-13 21:37:11

标签: jenkins docker

我试图用docker发出一个jenkins shell命令,如下所示:

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

......结果如下:

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

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

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

1 个答案:

答案 0 :(得分:0)

  

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}”