we use drools for mortgage risk assessment and use TeamCity for continuous integration of rules.

Our source code is *.drl (no DSL or processes yet). Rules get unit tested (TestNG), compiled into binary packages and some integration tests run against each of these packages. If all is good, we perform an ordinary maven release of the rules. They get a version number just as any other maven artifact and get deployed to a maven repository manager (Nexus OSS) and our packaging/deployment tool pulls them from there just before it needs them.

We don't use guvnor at all (we have a very developer-centric rules-authoring/rollout process) and perform rule compilation with a maven plugin ( http://passion.forco.de/node/34 ). It does not need any running guvnor instance, but uses drools' public rules compilation Java API.

If you want to know more details, or have questions, please let me know.

Best regards,


Am 03.10.2012 23:27 schrieb "Cedric Hurst" <cedric@spantree.net>:
I'd like to get a quick sanity check on best practices...

I'm working on a project where, by policy, all assets (including drl's, bpmn
files, etc) must be built, tested and packaged by a Jenkins server.  Rule
assets are structured within a project that also includes non-rule assets.
As is quite common, the primary system of record for these assets is an SCM
like svn or git, and that's what our Jenkins box talks to.

However, for the rule stuff specifically, we're also using Guvnor's
drools-repository to package the assets into a knowledge base, which is
referenced jBPM's process engine in the runtime.  The plan is to have
several Guvnor environments running with parity to development, QA, UAT and
production setups.  However, we're having a very hard time figuring out how
best to sync our rule assets to these various repositories as part of an
automated release.

To the best of my understanding, rule assets are deployed to a Guvnor
instance file-by-file via WebDAV.  One can also upload JARs for POJOs, but
DRLs, BPMN, DSL files need to be synced individually.  Is this the case?
And, if so, how do other groups handle continuous integration and deployment
of assets coming from external SCMs?

Btw, I came across aware of a Maven plugin which seems to do this sort of
piece-by-piece deployment:


So we could certainly port this sort of functionality to our own build
toolchain, but it seems like a lot of work so I'm hoping for a better way.

View this message in context: http://drools.46999.n3.nabble.com/continuous-integration-of-rule-assets-via-jenkins-to-guvnor-tp4020122.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
rules-users mailing list