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
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 )
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.
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
Romain
Very cool!
I’ll have a look too.
2012/1/18 Romain Sertelon <bluepyth@gmail.com>