Gatling Maven Plugin

Hi all,

First of all, congratulations to the Gatling team for this awesome project !!!

I’d like to develop a Maven plugin for Gatling, in order to play simulations from a CI.

The plugin configuration looks like this :

com.excilys.ebi.gatling gatling-maven-plugin 1.1.0 src/main/gatling Home directory by default src/main/gatling src/main/gatling/conf Directory where configuration is stored by default ${home}/conf src/main/resources Directory where simulations are stored by default ${home}/user-files/simulations Pattern to excludes simulations **/test/** Pattern to includes simulations by default *.txt, *.scala *.txt src/main/gatling/user-files/data Directory where data files are stored by default ${home}/user-files/data src/main/gatling/user-files/data Directory where request bodies are stored by default ${home}/user-files/request-bodies true No report option by default 'false' execute

The project tree will be this one by default :

.

– pom.xml

`–src

`-- main

– gatling
-- user-files – data
-- request-bodies – simulations
-- conf – gatling.conf
-- logback.xml target – gatling
-- 20120103114426 – 20120103114427

So the maven plugin will execute each simulation file after resolution with includes / excludes using the Gatling cli.

The problem for now is that the Gatling cli is interactive so it’s not possible to execute gatling like that :

/bin/gatling.sh -f my_simulation.txt Execute the simulation file ‘my_simulation.txt’ present in simulation folder

Is it possible to change the Gatling cli command to allow a filename simulation ?

Regards,

Nicolas

Hi Nicolas,

Thanks for the feedback, and thanks for this good idea :slight_smile:

We have opened an issue to add an option to run specific simulations: https://github.com/excilys/gatling/issues/363

I’ll push my modifications as soon as I can (wednesday night max I hope :slight_smile: )

As of the project tree, did you have a look at our maven archetype ? It could be great to have the same trees between them. Indeed one could easily create a project that would be run by your plugin.

Regards,
Romain

Hi Romain,

Indeed it would be great to use the maven archetype to generate a gatling project skeleton and use the same project tree for the plugin.

Regards,

Nicolas

First of all, thanks!

Actually, having something to plug Gatling on a CI is something we had in mind.
So, yes, that’s a great idea!

We’re investigating new CLI parameters that would force the simulation files and bypass the menu.
Once this is done, one will already be able to plug Gatling on a CI platform with the maven-antrun-plugin, but this solution will require to manually install Gatling.
This plugin would be a great integrated, plug-and-play solution.

Just a few questions/remarks :

  • the default value should point to test resources, not main resources
  • would Gatling run in the same JVM as maven? If yes, one would have to tweak the MAVEN_OPTS.
    Cheers,

Steph

2012/1/17 Nicolas Huray <nicolas.huray@gmail.com>

I’m answering my own question : Gatling should run in a separate JVM, with a option to pass JVM args. :wink:

2012/1/17 Stéphane Landelle <slandelle@excilys.com>

Gatling can run several files thanks to the -s option!

This is done, I’ve tested it, it works fine on my computer, I think it’ll be okay on yours too !

Good night :stuck_out_tongue:

Romain

Very cool!
I’ll have a look too.

2012/1/18 Romain Sertelon <bluepyth@gmail.com>