如何将一个variables传递给Jenkins声明式pipe道中的docker参数

我正在创build一个Jenkins声明性pipe道作业,在依赖外部数据库容器的Docker容器中运行一些节点testing。 我创build一个独特的networking,然后尝试通过作为dockerarg的networkinguid,以便docker容器可以访问所述db容器:

def myNetwork = dbNetwork stage('test-ci') { agent { docker { reuseNode true image 'myrepo/my-nodejs' label 'docker' args "--net ${myNetwork}" } } steps { script { try { sh 'npm run test-ci' } catch(err) { currentBuild.result = 'FAILED' } } } } 

然而,jenkins的输出结果显示,当docker收到这个variables的时候,

 $ docker run -t -d -u 233:233 --net null -w /home/jenkins/workspace/es_feature_add-db-container- ... 

我注意到,演示传递参数的例子使用单引号,但我需要双引号,所以myNetwork适当扩展,但也许这不是pipe道的方式。

我怎样才能正确传递一个variables到docker?

编辑:多env.BUILD_TAG之后,我认为这是一个范围问题,因为我成功地能够通过像env.BUILD_TAG环境variables。 我基本上只需要一个随机的,保证唯一的networking名称为一个给定的作业运行,所以我没有与其他工作冲突 – env.BUILD_TAG似乎做的工作,但我仍然想知道为什么我不能通过在我在脚本中定义的variables中。