如何使用 groovy 在 jenkins windows slave 上执行 CMD 命令?
How to execute CMD command on jenkins windows slave using groovy?
我正在尝试在 windows 上使用 groovy 在 jenkins slave 运行ning 上执行 cmd /c echo hello
。
这是我的groovy:
node('WINDOWS-SLAVE-1') {
def cmd_command = "cmd /c echo hello"
cmd_command.execute()
}
而且我可以在作业日志中看到它确实在 windows slave 上 运行ning:'Running on WINDOWS-SLAVE-1'
但是我得到一个错误:java.io.IOException: error=2, No such file or directory
如果我尝试 运行 linux 就像 ls -l
它工作正常。给我看我主人的档案。
如何从我的 groovy 脚本在我的 windows jenkins slave 上执行这个 CMD 命令?
如果您打算在给定节点上执行命令,则需要使用 Jenkins 管道的其中一个步骤来执行 shell 脚本(例如 sh
或 bat
).您需要注意 Jenkinsfile 中的任何 Groovy 代码始终在 master
节点上执行:
"1. Except for the steps themselves, all of the Pipeline logic, the Groovy conditionals, loops, etc execute on the master. Whether simple or complex! Even inside a node
block!"
Source: https://jenkins.io/blog/2017/02/01/pipeline-scalability-best-practice/#fundamentals
node('WINDOWS-SLAVE-1') {
bat "cmd /c echo hello"
}
我正在尝试在 windows 上使用 groovy 在 jenkins slave 运行ning 上执行 cmd /c echo hello
。
这是我的groovy:
node('WINDOWS-SLAVE-1') {
def cmd_command = "cmd /c echo hello"
cmd_command.execute()
}
而且我可以在作业日志中看到它确实在 windows slave 上 运行ning:'Running on WINDOWS-SLAVE-1'
但是我得到一个错误:java.io.IOException: error=2, No such file or directory
如果我尝试 运行 linux 就像 ls -l
它工作正常。给我看我主人的档案。
如何从我的 groovy 脚本在我的 windows jenkins slave 上执行这个 CMD 命令?
如果您打算在给定节点上执行命令,则需要使用 Jenkins 管道的其中一个步骤来执行 shell 脚本(例如 sh
或 bat
).您需要注意 Jenkinsfile 中的任何 Groovy 代码始终在 master
节点上执行:
"1. Except for the steps themselves, all of the Pipeline logic, the Groovy conditionals, loops, etc execute on the master. Whether simple or complex! Even inside a
node
block!"
Source: https://jenkins.io/blog/2017/02/01/pipeline-scalability-best-practice/#fundamentals
node('WINDOWS-SLAVE-1') {
bat "cmd /c echo hello"
}