Jenkins插件,如何在远程节点上执行系统命令?

我们公司的Jenkins有主节点和两个从节点。我正在为此写插件。插件要做的一件事是从svn中检出一些文件。无法从插件中提取此操作。为此,我从插件的Java代码执行控制台命令“

svn checkout”。问题在于,svn中的文件被检出到主节点,而不是从节点。如何使文件检出到从站?

回答:

首先,您具有以下对象,通常作为perform方法的参数接收:

Launcher launcher;

AbstractBuild<?, ?> build;

BuildListener listener;

然后,您已经创建了参数并将其添加到argumentsListBuilder,可能类似于:

ArgumentListBuilder command = new ArgumentListBuilder();

command.addTokenized("xcopy /?");

然后,执行以下操作:

ProcStarter ps = launcher.new ProcStarter();

ps = ps.cmds(command).stdout(listener);

ps = ps.pwd(build.getWorkspace()).envs(build.getEnvironment(listener));

Proc proc = launcher.launch(ps);

int retcode = proc.join();

ProcStarter将在launcher实例指定的节点上运行命令。但是在使用之前,请至少先浏览一下以上所有类的javadocs,以上内容 并不是

直接从工作代码中复制粘贴。

以上是 Jenkins插件,如何在远程节点上执行系统命令? 的全部内容, 来源链接: utcz.com/qa/406458.html

回到顶部