2016-05-10 21 views
0

Jenkinsを使用していて、複数構成のビルドを作成しようとしています。私たちはJenkinsを使用してソフトウェアビルドを立ち上げ、記録し、それを使って社内の自動テストツールを立ち上げました。Jenkinsによる複数ノード/プラットフォームテストの実行

最新のJenkins 2.2にアップグレードする際には、今後も異なるOSバージョンで自動テストを実行する必要があります。これまで私は単純なフリースタイルのプロジェクトを使っていましたが、すべての仕事を開始しました。

これを自動的に行うには、マトリックスビルドを使用しようとしています。私は、複数のバージョンのソフトウェアと、検証する複数のOSプラットフォームを持っています。

私はなど、OS、実行するためのソフトウェアのバージョンをカバーし、それぞれ持つラベルが定義されたノードと私のミックスで5台のノードコンピュータを持っている...
マスター - ジェンキンス ノード - POSレディ7 OS ノード - Windows 10 ノード - Windows 7 また、LinuxノードもWindowsは今のところ大きな問題になっているようです。 ノード - openSUSEの12.3 ノード - 私がテストを実行するとUbuntuの16.04

、別のブラウザに似て私たちの自動テスト(などの異なるバージョンです、私は、各ノード上で実行する必要がある2つの異なる構成は、あります。.. 。)ツールとプラットフォームのソフトウェアバージョン。

私がジョブを実行するとき、私は異なるテストオプション(Config1、Config2)のために各ノード(各OSをカバーしています)で2つのテストを実行します。

ジョブの構成マトリックスであるスレーブの下で、3つのWindowsノードコンピュータが選択されています。次に、ユーザー定義の軸(config_type)を値リスト(Config1 Config2)で定義します。ジョブを見ると、6つのジョブ(3つのノード、それぞれConfig1とConfig2)が表示されます。

私のビルドステップは、設定をテストする条件付きステップです Conditional Stepこれは処理を行うためにバッチファイルを呼び出します。フリースタイルのプロジェクトでは、これは単純にRunTest.bat Config1でした。 Configuration 2にも同様の設定があります。

Matrix looks Correct

私は今、失われています場所です。仕事が準備ができている間、私は仕事を実行することはできません。ジョブを実行するためにチェックすると、オプションは

Build with Parametersです。

このボタンでジョブを直接実行することはできません。また、ジョブリストのビルドアイコンを使用してジョブを直接実行することもできません。

両方のオプションは

This build requires parameters

テキストで、仕事上のビルドボタンに私をもたらします。私は仕事を実行すると、私はエラーを取得する:

A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened. 

Stack trace 

javax.servlet.ServletException: java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) 
    at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233) 
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) 
    at org.kohsuke.stapler.Stapler.service(Stapler.java:238) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) 
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) 
    at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) 
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) 
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 
    at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) 
    at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) 
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
    at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 
    at org.eclipse.jetty.server.Server.handle(Server.java:499) 
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) 
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) 
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) 
    at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject 
    at hudson.model.ParametersDefinitionProperty._doBuild(ParametersDefinitionProperty.java:148) 
    at jenkins.model.ParameterizedJobMixIn.doBuild(ParameterizedJobMixIn.java:195) 
    at hudson.model.AbstractProject.doBuild(AbstractProject.java:1745) 
    at hudson.model.AbstractProject.doBuild(AbstractProject.java:1751) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:324) 
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:167) 
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:100) 
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124) 
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) 
    ... 60 more 

答えて

0

は実は、このジョブの設定が正しく設定され、正常に動作し、私はとの問題を引き起こしていたものであるパラメータ化されたビルド、としての仕事を構成していましたジョブが実行されていません。パラメータ化されたビルド設定を削除すると、問題が修正され、ジョブが正しく実行されました。

関連する問題