代码之家  ›  专栏  ›  技术社区  ›  Adam Matan

如何在Jenkins中打印shell脚本的输出并解析其结果?

  •  1
  • Adam Matan  · 技术社区  · 6 年前

    我的问题

    考虑jnknsFrase:

    sh('sudo -E make upload')
    

    这个脚本打印了大量调试数据,它的最后一行输出是目标URL,我想在下一阶段使用它。

    如果我跑了 sh returnStdout: true

    我的问题

    如何打印shell脚本在Jenkins上执行时的输出,并以字符串的形式访问其标准输出?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Adam Matan    6 年前

    热释光;博士

    使用 tee 并读取输出文件。

    sh ('sudo -E make upload | tee url')
    url = sh (script: 'tail -1 url | grep "^https://.*$"', returnStdout: true).trim()
    

    工作原理

    球座 make upload 到标准输出 一个名为 url .

        2
  •  0
  •   Michael    6 年前

    这可能有用:

    sh (script: 'sudo -E make upload', returnStdout: true).readLines().last()
    

    但如果在Groovy沙盒中运行,可能需要将其列入白名单。