当前位置: 首页 > 面试题库 >

Jenkins Pipeline插件:执行外壳并解析输出

李宜然
2023-03-14
问题内容

我正在使用Jenkins Pipeline插件执行iOS Checkout-Build-Test-Deploy管道。

第一步涉及检查是否实际连接了iDevice(否则将不执行其余步骤)。

我想执行一个shell命令idevice_id -l(来自libimobiledevice),该命令将打印出所连接设备的设备ID,如果没有连接,则失败。

因此,我预想的步骤将是:

  • 执行命令 sh "/usr/local/bin/idevice_id -l"
  • 以某种方式解析输出
  • 如果此命令不返回任何内容,则失败。

我已经阅读了大多数官方文档,但留了空白。如何解析sh步骤的输出?如果我以错误的方式处理此问题,欢迎提出其他建议。


问题答案:

正如mentionned 这个答案,从管道版本2.4 :节点和进程开始,可以使用:

def out = sh script: 'java -jar scalr-api.jar testing654 n1-standard-8', returnStdout: true

作为2.4版本的
管道:节点和进程,你可以使用:

def out = sh script: '/usr/local/bin/idevice_id -l', returnStdout: true


 类似资料:
  • 问题内容: 我有简单的搜寻器,可搜寻和搜寻页面。但是现在我有问题如何执行和解析该页面中的js链接。有谁知道如何解析和执行js页面吗? 例: some_url易于使用webhtmltoolktit进行解析 JAVASCRIPT:runmeat(1,7,0,2,7,9)是js链接,它随后重定向到some_url2页面,然后我需要对该页面进行爬网。但是问题是如何在C#中执行此javascript以获取s

  • 问题 你想执行一个外部命令并以Python字符串的形式获取执行结果。 解决方案 使用 subprocess.check_output() 函数。例如: import subprocess out_bytes = subprocess.check_output(['netstat','-a']) 这段代码执行一个指定的命令并将执行结果以一个字节字符串的形式返回。 如果你需要文本形式返回,加一个解码步

  • 嗨,我一直在用c编写shell,我在尝试重定向时卡住了。虽然在我的程序中重定向标准输出有效,但标准输入不起作用。 我是< code>fork()的新手,但我的问题是我在这里做错了什么,重定向stdout可以工作,但stdin不会向给定的文件写入任何内容。

  • 问题内容: 我想知道是否可以 在configure build中的执行shell中访问Jenkins环境变量?如果可以,请给我一个例子 吗?我需要将环境信息与 测试的某些输出结合起来,以提供运行的完整报告(不使用插件)。 问题答案: 请检查。可以将所有环境变量与 在此处输入图片说明 成功构建后,您可以看到如下输出:

  • 当我运行类似-的任何Gradle任务时,它都会失败,并出现错误- 但是,如果我在项目的主文件中定义相同的配置和插件,它就可以正常工作。 我已经花了3-4个小时调试它,阅读了各种文章、博客和文档- https://plugins.gradle.org/plugin/com.jfrog.artifactory 用ArtiFactory分级 https://github.com/gradle/gradl

  • 运行maven命令: mvn Flyway:repair-flyway.config File=MyFlywayConfig.properties 返回错误: 有没有人知道如何在外部配置的基础上完成flyway插件的目标?