我尝试在运行于windows的jenkins代理上使用groovy执行cmd /c echo hello
。
以下是我的Groovy:
node('WINDOWS-AGENT-1') {
def cmd_command = "cmd /c echo hello"
cmd_command.execute()
}
字符串
我可以在作业日志中看到它确实在该Windows代理上运行:*“Running on WINDOWS-AGENT-1”**
但我得到一个错误:java.io.IOException: error=2, No such file or directory
如果我试着运行像ls -l
这样的Linux,它工作得很好。向我显示我的Jenkins控制器的文件。
我如何从我的groovy脚本在我的Windows Jenkins代理上执行这个CMD命令?
1条答案
按热度按时间sigwle7e1#
如果你的目的是在给定的节点上执行命令,你需要使用Jenkins Pipeline的一个步骤来执行shell脚本(例如
sh
或bat
)。你需要注意的是,Jenkins文件中的任何Groovy代码总是在**master
**节点上执行:node
块内!"*来源:https://jenkins.io/blog/2017/02/01/pipeline-scalability-best-practice/#fundamentals
字符串