0

Execute windowsbatchcommandでコマンドを実行するビルドステップでJenkinsでコマンドを実行しようとしています。

コマンドとして実行するdirを作成しました

エラーに続くファイルのコンテンツの変更によってトリガーされるジョブがJenkinsで実行される場合

[FSTrigger] Triggered by a change to a file (<a href="triggerCauseAction">log</a>)
Building in workspace C:\Users\Pankaj\.jenkins\jobs\convert File to text form\workspace
FATAL: null
java.util.NoSuchElementException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source)
at java.util.TreeMap$EntryIterator.next(Unknown Source)
at java.util.TreeMap$EntryIterator.next(Unknown Source)
at java.util.TreeMap.buildFromSorted(Unknown Source)
at java.util.TreeMap.buildFromSorted(Unknown Source)
at java.util.TreeMap.buildFromSorted(Unknown Source)
at java.util.TreeMap.buildFromSorted(Unknown Source)
at java.util.TreeMap.buildFromSorted(Unknown Source)
at java.util.TreeMap.buildFromSorted(Unknown Source)
at java.util.TreeMap.putAll(Unknown Source)
at hudson.EnvVars.<init>(EnvVars.java:82)
at hudson.EnvVars$GetEnvVars.call(EnvVars.java:207)
at hudson.EnvVars$GetEnvVars.call(EnvVars.java:205)
at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
at hudson.EnvVars.getRemote(EnvVars.java:202)
at hudson.model.Computer.getEnvironment(Computer.java:837)
at hudson.model.Run.getEnvironment(Run.java:1883)
at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:836)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:75)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:58)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:710)
at hudson.model.Build$RunnerImpl.build(Build.java:178)
at hudson.model.Build$RunnerImpl.doRun(Build.java:139)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:480)
at hudson.model.Run.run(Run.java:1434)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:239)

この号をご覧ください。

4

2 に答える 2

1

ビルド ステップとしてバッチ コマンドを実行するために、Jenkins を Windows サービスとしてインストールする必要はないと思います。問題になる可能性があるのは、Windows では、 などdirのコマンドがコマンド インタープリター (つまりcmd.exe) の内部にあることです。つまり、Java プログラムでは、メソッドを使用して内部dirコマンドを単純に実行できないということです。コマンドインタープリター自体を実行し、内部コマンドをパラメーターとして指定する必要があります。そうは言っても、Jenkins は Java アプリケーションであることを認識していれば、単に入力するのではなく、使用することをお勧めします。java.lang.Runtime.exec("dir")dir.exePATHjava.lang.Runtime.exec("cmd /C dir")cmd /C dirdirJenkins のジョブ構成で。内部的には、Jenkins は Apache Commons Exec ( http://commons.apache.org/exec/を参照) など、内部コマンドと「通常の」コマンドの間の詳細を隠す、外部プロセスを実行するためにいくつかのサードパーティ ライブラリを使用する場合があります。 、しかし私の経験から、すべてのリリース、特に古いリリースに当てはまるわけではありません。

于 2012-05-22T20:58:35.157 に答える
0

この質問への回答: 実際、私は Windows を Jenkins のサービスとしてインストールしていません。そのためには、「manage Jenkins」に移動し、「windows as a service」をクリックする必要があります。つまり、Jenkins を Windows サービスとしてインストールします。

于 2012-05-25T09:08:41.673 に答える