我们公司的Jenkins有主节点和两个从节点。我正在为此写插件。插件要做的一件事是从svn中检出一些文件。无法从插件中提取此操作。为此,我从插件的Java代码执行控制台命令“ svn checkout”。问题在于,svn中的文件被检出到主节点,而不是从节点。如何使文件检出到从站?
首先,您具有以下对象,通常作为perform方法的参数接收:
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,以上内容 并不是 直接从工作代码中复制粘贴。
launcher