Gatling Jenkins Plugin in Hudson

Hi,

We are using Gatling 2 in my company and I’m trying to set up a Hudson job to run the tests every night, using Gatling Jenkins plugin. Version 1.0.0 of Gatling Jenkins plugin works fine, but we have multiple simulation run by our job so I would like to use version 1.0.3 as it supports multiple reports. Problem is that this version fails in Hudson with the following stack trace:

Archiving Gatling reports… FATAL: hudson.model.AbstractBuild.getStartTimeInMillis()J java.lang.NoSuchMethodError: hudson.model.AbstractBuild.getStartTimeInMillis()J at com.excilys.ebi.gatling.jenkins.GatlingPublisher.selectReports(GatlingPublisher.java:142) at com.excilys.ebi.gatling.jenkins.GatlingPublisher.saveFullReports(GatlingPublisher.java:105) at com.excilys.ebi.gatling.jenkins.GatlingPublisher.perform(GatlingPublisher.java:65) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:51) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:646) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:624) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:600) at hudson.model.Build$RunnerImpl.post2(Build.java:163) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:566) at hudson.model.Run.run(Run.java:1414) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:40) at hudson.model.ResourceController.execute(ResourceController.java:81) at hudson.model.Executor.run(Executor.java:137)

I guess it’s due to an API discrepancy between Hudson and Jenkins? Anyone knows if it’s possible to run this version of the plugin in Hudson?

Thanks
Alice

This method is actually defined in hudson.model.Run.

It was introduced in Jenkins about one year ago: https://github.com/jenkinsci/jenkins/commit/74d721845e41283fbc74b6dc0bb9387d605d15bd#diff-c4f9931d88bca347279b881007d71f0e

For now, we don’t intend to invest on officially supporting Hudson: maintaing a fork is a bit of work and there’s not much community demand (you’re the first one to ask).
So, you’ll either have to fork yourself, or ask us for commercial support.

Reading the commit and code comments, it looks like you code use getTimeInMillis as an approximation, which is not the time the job was started but the time the job was queued.

Generally speaking, I don’t want to criticize the remaining Hudson community and developers or assume anything about your organization, but it looks to me that Jenkins has much more momentum and migrating to Jenkins could be a more sustainable choice. Just saying…

Cheers,

Stéphane

Hi Stephane,

thanks for you answer.
We will probably migrate to Jenkins, I agree that it doesn’t make much sense to continue using Hudson as this is not the first issue we had with it and probably won’t be the last.
I just thought it was worth checking if there was an easy way to have the plugin up and running in Hudson before requesting a migration to Jenkins.

Cheers
Alice

Maybe just replacing this method call as I suggested is enough.
I honestly can’t tell and don’t have the cycles to go with installing Hudson and investigating, sorry.
But I’d gladly answer your questions if you were to go with forking yourself.

Good luck,

Stéphane