如果使用jenkinsfile(jenkins管道)在控制台日志中找到文本,则使构建不稳定

时间:2018-04-25 02:09:58

标签: shell jenkins groovy jenkins-pipeline

我正在尝试登录实例并检查文件test.txt是否为空,然后echo ..使用jenkins管道(jenkinsfile)使构建不稳定但是这不起作用。 我有这个:

post {
        always {
          sh "ssh ubuntu@$Ip 'if [ -s test.txt ] ; then echo some text && cat test.txt'"
        currentBuild.result = 'UNSTABLE'
          }
        }

我可以通过最新版本的控制台日志解析最新构建的内容,例如:some text,如果找到了,我想使构建不稳定

1 个答案:

答案 0 :(得分:0)

您需要从脚本中退出标准:

String stdOut = sh returnStdout: true, script: "ssh ubuntu@$Ip 'if [ -s test.txt ] ; then echo some text && cat test.txt'"

if (stdOut == "") {
   currentBuild.status = 'UNSTABLE'
}

或者,您可以使用returnStatus返回脚本的退出代码。可以找到sh步骤的文档here