JBoss BPM Suite v6.1 - CI/CD with jenkins

CI/CD is a heavily discussed topic in the past few years with each individual or organization having their own patterns and methodology.  There is no one single way of implementing CI/CD, it is what fits within your organization.  There may be ideal patterns out there that one could leverage.

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
The pipeline has the following flow:

  1. Initial
    1. Check out from gogs, the BPM project
    2. Build the project
    3. Push to nexus
  2. Deploy to BPM Development
  3. Perform a test of the process on BPM Development
  4. In parallel
    1. Deploy to BPM Test
    2. 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.

comments powered by Disqus