11

ジェンキンスをsvnと統合しようとしています。maven_home、java_home (Java 1.5 update 22) を構成しました。私はジェンキンスのバージョン 1.459 を使用しています。私の同僚の 1 人が svn で jenkins を正常に構成しましたが、現在は別のブランチを使用しているため、新しいジョブを追加して、新しいブランチからチェックアウトし、プロジェクトを継続的に統合したいと考えました。Jenkins はリモートの Linux マシンで実行されており、vpn を使用してサーバーに接続し、設定を行っています。

Modules changed, recalculating dependency graph
[workspace] $ /usr/lib/jvm/jdk1.5.0_22/bin/java -cp /home/vimukthi/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/home/vimukthi/.jenkins/tools/Maven_3.0.3/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /home/vimukthi/.jenkins/tools/Maven_3.0.3 /tmp/Jetty_0_0_0_0_2080_jenkins.war__jenkins__.wq5y0j/webinf/WEB-INF/lib/remoting-2.13.jar /home/vimukthi/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar 45339

Exception in thread "main" java.lang.ClassNotFoundException: hudson.remoting.Launcher
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
    at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.java:130)
    at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.java:63)
ERROR: Failed to parse POMs
java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.FilterInputStream.read(FilterInputStream.java:116)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at hudson.remoting.ClassicCommandTransport.create(ClassicCommandTransport.java:98)
    at hudson.remoting.Channel.<init>(Channel.java:373)
    at hudson.remoting.Channel.<init>(Channel.java:369)
    at hudson.remoting.Channel.<init>(Channel.java:330)
    at hudson.remoting.Channel.<init>(Channel.java:326)
    at hudson.remoting.Channel.<init>(Channel.java:322)
    at hudson.slaves.Channels$1.<init>(Channels.java:71)
    at hudson.slaves.Channels.forProcess(Channels.java:71)
    at hudson.maven.AbstractMavenProcessFactory.newProcess(AbstractMavenProcessFactory.java:237)
    at hudson.maven.ProcessCache.get(ProcessCache.java:231)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:706)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
    at hudson.model.Run.run(Run.java:1413)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:479)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Sending e-mails to: testjenkins@gmail.com
Finished: FAILURE
4

3 に答える 3

3

このエラーは、スレーブのビルド ルート ディレクトリにあるライブラリを破損することで再現できます。その場合、スレーブを再接続することにより、ジェンキンスは必要なすべてのライブラリなどをコピーするため、スレーブを再接続すると状況が修正されます。

これを実際に確認するには、再接続したときに jenkins コンソールを見てください。次のように表示されます。

Slave.jar バージョン: 2.28

これは Unix スレーブです

コピーされたmaven-agent.jar

コピーされたmaven3-agent.jar コピーされたmaven3-interceptor.jar

コピーされたmaven-interceptor.jar

コピーされた maven2.1-interceptor.jar コピーされた plexus-classworld.jar

コピーされたclassworlds.jar

それで、何が起こっているのか、すべてのライブラリがジェンキンによって再同期されています。これは、ジェンキンスのバグ(私見)にまで及ぶ可能性があります...理想的には、スレーブはこの種の障害に対して堅牢である必要があります。

于 2013-10-13T14:59:21.590 に答える