当前位置: 首页 > 知识库问答 >
问题:

如何使用groovy在jenkins windows slave上执行CMD命令?

南门欣怡
2023-03-14

我试图在windows上运行的jenkins slave上使用groovy执行cmd/c echo hello。

这是我的groovy:

node('WINDOWS-SLAVE-1') {
    def cmd_command = "cmd /c echo hello"
    cmd_command.execute()
}

我可以在作业日志中看到它确实在Windows从站上运行:“在WINDOWS-SLAVE-1上运行”

但我得到一个错误:<代码>java。io。IOException:错误=2,没有这样的文件或目录

如果我尝试像ls-l这样运行linux,它可以正常工作。给我看我主人的文件。

如何从我的groovy脚本在我的windows jenkins从站上执行此CMD命令?

共有1个答案

乜思淼
2023-03-14

如果您打算在给定节点上执行命令,则需要使用Jenkins管道中设计用于执行shell脚本的步骤之一(例如,sh或bat)。您需要知道,Jenkinsfile中的任何Groovy代码都始终在主节点上执行

"1.除了步骤本身,所有管道逻辑、Groovy条件、循环等都在主节点上执行。无论是简单的还是复杂的!即使在节点块内!"

来源:https://jenkins.io/blog/2017/02/01/pipeline-scalability-best-practice/#fundamentals

node('WINDOWS-SLAVE-1') {
    bat "cmd /c echo hello"
}
 类似资料:
  • 问题内容: 我正在尝试通过Java执行命令行参数。例如: 上面的命令打开命令行,但是不执行或。有任何想法吗?我正在运行Windows XP,JRE6。 (我已经对问题进行了更详细的修订。以下答案很有用,但不能回答我的问题。) 问题答案: 你发布的代码使用自己的命令启动三个不同的过程。要打开命令提示符然后运行命令,请尝试以下操作(请勿自己尝试):

  • 我正在尝试将自由风格的作业转换为管道代码。我有大量以下groovy命令需要在从属节点上运行。 错误: "java.io.FileNotFoundException: /target/checkout/pom.xml(没有这样的文件或目录)java.io.FileInputStream.open0(本机方法)" 我从输出中看到,groovy正在master上执行(我知道这是groovy的本质),无法

  • 我想制作一个打开另一个java程序的程序。如何在编译和运行java程序时运行/执行cmd命令。 例如c:\Users\Burnok 如何在java程序中实现这一点?请帮忙。 我尝试了这段代码,但编译成功,但如果我尝试运行HelloWorld。类它表示无法找到或加载主类。 以下是java src/HelloWorld stderr的错误:错误:无法找到或加载主类src。你好世界

  • 问题内容: 我想使用golang和exec库转到某个路径“ c:\”并运行.exe文件。 当我运行go代码时,它会给我: exec:“ cd:/”:文件不存在 问题答案: 该命令是shell的内置命令,无论是bash,cmd.exe,PowerShell还是其他。您将不执行命令,然后执行要运行的程序。相反,你要设置的你要运行到包含程序的目录: 有关更多信息,请参见Cmd文档。或者,您可以在运行程序

  • 问题内容: 我必须将一些常规代码发送给仅安装了Java的某些用户(没有常规,没有$ groovy_home等)。我正在尝试从命令行调用Groovy,但是我没有运气。这是我的蝙蝠文件: 这是我的例外: 有人有线索吗?我在\ lib目录中有’groovy-all-1.6-beta-1.jar’。 问题答案: 我认为您需要在类路径中明确列出groovy jar

  • 我目前正在尝试学习如何使用PhoneGap为android手机开发应用程序。我得到了这本名为《PhoneGap 2x移动应用程序开发》的书。这本书真的很好,不言自明,但我的问题是,当作者想通过命令行创建d项目时,他使用的是Unix命令,因为他运行的是Unix PC。我运行的是Windows,使用CMD来遵循他的命令对我来说有点难,因为我不理解他的所有命令。 他写道: 有人能告诉我如何在window