We are using BPMN processes purely by using the rest api. These processes are compiled to war files and included in the docker engine.
Currently, add an empty java file like this to every process.
package org.camunda.bpm.destiny;
import org.camunda.bpm.application.ProcessApplication;
import org.camunda.bpm.application.impl.ServletProcessApplication;
@ProcessApplication("Test Process App")
public class TestProcessApplication extends ServletProcessApplication {
// empty implementation
}
I’ve seen the ability to use classless processes. If I’m correct, these don’t require the java files (what we don’t use, we use the http connector to make rest calls).
If I change the packaging in pom.xml to war, camunda finds the file, but doesn’t register the process.
Am I correct that it is possible to create war files without java code in them that camunda can use? This could simplify our workflow to create new processes.
The second link is the default application that runs when starting the default camunda docker container. You can see how they are executing a deployment for the files. You would just need to your point file locations to a volume.
and
here is another example that lets your version control your non-jar/war process projects and auto deploy through jenkins:
I’ve just noticed that I could just create one empty process application and include all the bpmn files in the resources of that application. That way, I only need to build one app and have camunda pick up all the bpmn files.
I’m not sure, but docker does that for me. When a bpmn is changed, a new container is build and the old container is replaced.
The h2 storage is placed on a volume so it is persisted over containers. Every new start, I can see camunda deploying my application.