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