如何使用Groovy在Jenkins Windows Slave上执行CMD命令?

时间:2019-12-04 19:00:24

标签: windows jenkins groovy jenkins-slave

我试图在Windows上运行的jenkins从属服务器上使用groovy执行cmd /c echo hello

这是我的古怪:

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

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

但是我收到一个错误:java.io.IOException: error=2, No such file or directory

如果我尝试像ls -l一样运行linux,它就可以正常工作。向我显示我的主文件。

如何从groovy脚本在Windows jenkins从属服务器上执行此CMD命令?

1 个答案:

答案 0 :(得分:1)

如果您打算在给定节点上执行命令,则需要使用Jenkins Pipeline的其中一个步骤来执行Shell脚本(例如shbat)。您需要注意,Jenkins文件中的任何Groovy代码始终在 master 节点上执行:

  

“ 1。除步骤本身外,所有管线逻辑,Groovy条件,循环等都在主服务器上执行。无论是简单还是复杂!甚至在node块内!” < / em>

     
     

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

node('WINDOWS-SLAVE-1') {
    bat "cmd /c echo hello"
}