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

如何在Jenkins奴隶的脚本控制台中使用groovy运行python命令?

韩彦君
2023-03-14
问题内容

我需要python -c "print('hello')"在Jenkins的奴隶脚本控制台之一上运行任意简单的东西。这是我正在尝试的:

def cmd = 'python -c "print(\'hello\')"'
def sout = new StringBuffer(), serr = new StringBuffer()
def proc = cmd.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println "out> $sout\nerr> $serr"

但是,获得空输出:

out> 
err>

有没有办法在Groovy中获取python的输出?


问题答案:

尝试将命令分成数组

def cmdArray = ["python", "-c", "print('hello')"]
def cmd = cmdArray.execute()
cmd.waitForOrKill(1000)
println cmd.text

不知道为什么您的版本不起作用。



 类似资料:
  • 我想在詹金斯中强制执行以下场景: 我有工作A和工作B 我想在执行作业B时禁用作业A,在执行作业B后,我想再次启用作业A。 为了启用/禁用作业A,我使用了Groovy插件:Groovy插件 Groovy插件提供了两种可能性:执行Groovy脚本和执行系统Groovy脚本。 在开始执行作业B时,我添加了以下代码片段: 执行工作B后: 当我运行作业B时,它失败了,出现以下异常: 当我运行作业B时,它失败

  • 我有一个jenkins管道,它加载如下groovy实用程序脚本: 当我在主节点上执行管道时,一切都很好。在这种情况下,我可以在管道中使用类Utils中的方法。 当我试图在一个从系统中执行管道时,我的问题出现了。在这种情况下,上述负载会导致错误 Java语言io。IOException:java。io。FileNotFoundException:/var/lib/jenkins/utils/util

  • 问题内容: 在“全局属性”中的Jenkins配置(http:// JenkinsURL/configure)中,我定义了一些“环境变量”。 如何在Groovy脚本控制台(http:// JenkinsURL / script)中访问它们? 我试图找到合适的解决方案(例如:[在Jenkins构建步骤(Windows)中从groovy脚本访问构建环境变量中]提到的解决方案),但似乎它们都不适合我。 我

  • 在“全局属性”中的 Jenkins 配置 (http://JenkinsURL/configure) 中,我定义了一些“环境变量”。 如何在Groovy脚本控制台(http://JenkinsURL/script)中访问它们? 我试图找到合适的解决方案(例如:在Jenkins构建步骤(Windows)中从groovy脚本中访问构建环境变量),但似乎没有一个适合我。 我尝试过例如: 和 和 和

  • 我正在尝试将我的windows slave作为服务连接到jenkins 2.88。我通过webstart启动了这个奴隶,然后运行jenkins奴隶。exe install来安装服务。第二次运行作业时,从svn中检出内容,我得到以下错误: 该服务正在以“我的用户”身份运行,以使其具有所有必要的权限。简而言之,我的问题是jenkins是否正确支持从服务运行jenkins slave jar的方法。例如

  • 我需要从Jenkins作业中获取脚本路径。 请查看下面的屏幕截图,以便更清楚地了解需求。 我已经登录谷歌,获取了一些Groovy控制台脚本,其中列出了每个作业的详细信息。 通过使用jenkins.model.Jenkins.getJobNames()方法,我能够得到Jenkins中的所有作业,但实际上需要的是获得Scriptpath值,在每个作业中提到。 哪个Jenkins类/方法可以提供这些细节