What I am trying to do is to have seperated development and production environment in drools infrastructure in which I can test my authored rules before it goes to production. What I did is followed. First, I ran a docker container from the jbpm-workbench and mounted a local volume to serve its internal git repository using the following command:
docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-workbench -v ~/drools_repo:/opt/jboss/wildfly/bin/.niogit jboss/jbpm-workbench-showcase:latest
Then connected two kie servers to the workbench using these commands:
docker run -p 8180:8080 -d --name kie-server-stage --link jbpm-workbench:kie-wb jboss/kie-server-showcase:latest
docker run -p 8280:8080 -d --name kie-server-production --link jbpm-workbench:kie-wb jboss/kie-server-showcase:latest
So far I am getting two remote servers each presented as a server template in the execution servers page of the workbench console. So far so good. But then I am having trouble with the smoothness of its deploying procedure. First of all, I realised that each time a change is made to the rules I should deploy it to a server template unless this change will not be recognised in the execution servers page either for creating a new container nor picking up by scanner (even when the project's version is updated). So I created a temporary server template to deploy the changes there (so that other server templates, the remote ones, can see the upgrade). But then I realised that each time I want to deploy a change, I must increase the project's version as it will complain about dublicate names of containers. So I have reached my goal that is the separation of staging and production environment. But the process I have to do each time a rule is changed, is a drag I think! I'm sure there is another way to do this without increasing the version each time a change is made and deploying to a temporary server template? Not so clean! So can you tell me how can I accomplish this without feeling disgusted?