5

当社の Jenkins には、マスター ノードと 2 つのスレーブ ノードがあります。そのためのプラグインを書いています。プラグインが行うことの 1 つは、svn からいくつかのファイルをチェックアウトすることです。このアクションはプラグインから抽出できません。これを行うには、プラグインの Java コードからコンソール コマンド「svn checkout」を実行します。問題は、svn からのファイルがスレーブ ノードではなくマスターにチェックアウトされることです。ファイルをスレーブにチェックアウトするにはどうすればよいですか?

4

2 に答える 2

8

performまず、これらのオブジェクトを用意します。これらのオブジェクトは通常、メソッドのパラメーターとして受け取ります。

Launcher launcher;
AbstractBuild<?, ?> build;
BuildListener listener;

次に、おそらく次のような引数を作成してargumentListBuilderに追加しました。

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インスタンスによって指定されたノードでコマンドを実行します。ただし、使用する前に、少なくとも上記のすべてのクラスの javadoc を一瞥してください。上記は、作業コードから直接コピーして貼り付けるものではありません。

于 2012-11-01T12:28:25.340 に答える