我有一个Jenkins脚本管道作业。我想把docker inspect命令的输出传递给一个变量。然后,我想稍后在其他步骤中使用该变量。
以下是将显示Mac地址的命令。我希望这个命令的输出存储在一个变量中。
docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
我试过这个,但对我不起作用。
output = sh(
returnStdout: true,
script: 'docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID'
)
有人能告诉我这里面出了什么问题吗?或者建议我用其他方法将输出存储在变量中。
问题是,您在脚本中使用了单引号,并且还用单引号包装它,因此Jenkins运行的docker inspect --format=
应该不会返回任何内容。尝试用双引号包装脚本
output = sh(
returnStdout: true,
script: "docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID"
)