将Shell命令输出保存在变量中,并在Jenkins管道中使用它

问题描述

如何存储要返回最新docker映像名称的shell命令的输出?在此阶段之后,我需要在下一个阶段中使用相同的名称(变量),在该阶段我应该将此变量作为参数传递?

我尝试了以下代码

    stage('LATEST') {
        steps {
            script{
                LATEST_IMAGE= sh (
                returnStdout: true,script: "docker images | awk '{print $1}' | awk 'NR==2'"
                )
            }
        }
    } 

我想将上述shell脚本输出存储在LATEST_IMAGE变量中,并在下一个将Image推送到ECR的下一阶段中使用。通过这段管道代码,我得到以下错误

错误详细信息:

WorkflowScript:54:美元符号后的非法字符串体字符; 解决方案:要么在第54行第103列中转义文字美元符号“ $ 5”,要么将值表达式“ $ {5}”括在括号中。 “ docker images | awk'{print $ 1}'| awk

PS-尽管从终端运行,上述命令也可以正常工作。

感谢您的帮助。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)