I recently set up an example jenkins CI/CD pipeline involving JBoss BPM Suite. I leveraged the following components:
- jenkins (docker)
- gogs (docker)
- sonatype nexus oss (docker)
- JBoss BPM Suite v6.1 (docker and non-docker)
- Design
- Development
- Test
- QA
- Initial
- Check out from gogs, the BPM project
- Build the project
- Push to nexus
- Deploy to BPM Development
- Perform a test of the process on BPM Development
- In parallel
- Deploy to BPM Test
- Deploy to BPM QA
The BPM runtime environments are setup to pull from the central nexus repository if the compiled project is not available locally.
At the moment in BPM v6.1 there is no githook to trigger a push to the enterprise gogs git, so it's a manual process. One could also schedule a cron job to push by time or a job that polls for changes. In the future there is a planned function of a githook* so that it will provide a trigger to push to the enterprise git.
The project I am leveraging is based on the Customer Evaluation demo from JBoss Demo Central.
Given that this is an example, I'm performing simple checks on the process to make sure that it is deployed and functioning properly. You can find exports of the jenkins jobs at my github repo.
I also recorded a video of the project available here.
* As with any mention of future functions and dates, all plans subject to change.