Continuous Integration and Continuous Deployment with Git Sync from Camunda

Reduce errors and foster collaboration Camunda's Git integration and CI/CD pipeline blueprint.
  • Blog
  • >
  • Continuous Integration and Continuous Deployment with Git Sync from Camunda

Every project, including process orchestration initiatives, requires time and multiple iterations to achieve the desired outcome. Adopting continuous integration and continuous deployment (or continuous delivery), known as CI/CD, is the most effective way to automate code integration, testing, and application deployment. CI/CD enhances development efficiency, minimizes errors, and speeds up software delivery while ensuring high quality.

Camunda now enables organization owners and administrators to link their Web Modeler process applications to GitHub and GitLab. This ensures seamless synchronization between Web Modeler, Desktop Modeler, and official version control projects.

Why is this important?

CI/CD plays a crucial role in automating and optimizing the software development lifecycle, allowing teams to release updates more quickly, minimize errors, and uphold code quality. Continuous integration (CI) ensures frequent merging and testing of code changes to detect issues early, while continuous deployment/delivery (CD) streamlines the release process, reducing manual work and potential deployment risks. By adopting CI/CD, organizations can drive faster innovation, enhance collaboration, and achieve more reliable software delivery.

An analysis of over 12,000 open source repositories revealed that implementing CI/CD practices resulted in a 141.19% boost in commit velocity, highlighting significantly faster development cycles.

Many organizations have adopted the use of GitLab and GitHub to manage the software development lifecycle; however, it can be challenging to integrate GitLab and GitHub into your development cycles and deployment processes. With Camunda’s integrated solution, developers can use Camunda’s solution to transfer files to the Git repository all the way through production employment.

This integration links a process application to a Git repository branch, making it easy for both nontechnical users and developers to access the source of truth and collaborate seamlessly across desktop and Web Modeler.

Git Sync with Camunda

In order to take advantage of this integration, a bit of setup is required. However, once configured, you can take advantage of a button click to sync your Camunda process application and your Git repository. As mentioned, this integration works with GitLab and GitHub. The configuration is quite similar, and you can find detailed instructions in our documentation.

In the screenshots below, you can see the option to configure the Git integration by clicking the upper right button. Enter the fields for your GitHub configuration (for this example) after installing the Camunda Git Sync application in GitHub for our repository.

Space Mutiny
Configure repository connection

In this example case, a GitHub repository has files ready to be pulled to your Camunda process application.

GitHub repo with files to pull to application

You can now synchronize your process application and, in this case, pull down the contents of your GitHub repository (reflected below).

Sync with GitHub

This action will execute a pull from GitHub of all the latest commits to your Camunda process application as shown in Modeler here.

Modeler display of GitHub commits

Version control synchronization

As with any project, you are going to make changes, and you’ll want to make sure that these changes are captured in your Git repository with proper version information.

Proper version info in your repo

Camunda’s Git Sync allows you to synchronize any changes made to your project files to your repository with the proper associated version control information. For this version commit, the name of the main BPMN process was updated to be spelled correctly, as is shown in the Git repository.

Updating the name of the BPMN process

As expected, GitHub reflects that the original misspelled BPMN file was deleted from the Git repository and replaced with the file with the properly spelled name.

GitHub reflects changes

Let’s now look at some modifications to the elements of the process model itself and use Camunda’s tools to show how the versions can be compared.

By modifying the main model (Eligibility Check) and then synchronizing those changes with GitHub using a minor version change, you can see that GitHub shows your modifications to the committed files.

GitHub showing modification to committed files

Although you can see the changes between versions in GitHub, this might not be as easy to interpret as reviewing the changes in a more visual way by diffing the versions with Camunda Web Modeler.

Visual review of changes in Modeler

In Web Modeler, you can see the differences between versions with explanations in a graphical UI, which makes it easier to understand what changes were made.

Graphical UI makes change easier to see

Parallel feature development

Camunda’s Git sync also enables parallel feature development by allowing multiple process applications to connect to separate feature branches. This ensures teams can work on different features simultaneously without overlapping or disrupting each other’s progress.

Git Sync blueprint

In addition to Git sync functionality, Camunda also offers a CI/CD pipeline blueprint to help get you started. This blueprint showcases a flexible CI/CD pipeline for deploying Web Modeler folder content across various environments using GitLab and Camunda.

CI/CD pipeline blueprint

With this custom integration, you can fully orchestrate your release process and modify it to fit your specific requirements. While Web Modeler provides native Git Sync functionality, this blueprint allows you to connect your process application to a remote repository and sync your application files with a single click to create a new commit to the remote repository and then initiate your CI/CD pipeline process.

This blueprint provides:

  • Version control. It enables the synchronization of a Web Modeler process application with a target GitLab (by default) repository by creating a merge request. Once merged, this request initiates the deployment pipeline.
  • Fully customizable. Although the blueprint is designed to be used with GitLab, you can adapt it to work with other CI/CD tools.
  • Multistate deployments. It simulates a deployment pipeline with three stages, incorporating a manual review and additional testing. A milestone is created after each successful deployment to track the deployment status.

With mulitstate deployments, you can use different projects within the same Web Modeler instance to represent different stages. You can allow developers access to the development project, which may be synced to a feature branch, while giving only a few users access to the production project, which is synched for the production branch.

CI/CD with GitHub and GitLab

This offering from Camunda allows organizations to adhere to CI/CD procedures and guidelines, supporting the full pipeline from development to deployment. Developers can push process application changes to a Git repository and trigger the deployment process using the CI/CD pipeline blueprint.

By using CI/CD with Git and Camunda, teams can efficiently automate workflows, reduce manual intervention, and ensure reliable, continuous software delivery.

CI/CD is essential for automating and optimizing the software development lifecycle, enabling faster, more reliable, and high-quality software delivery for several reasons. For example:

  • CI ensures early issue detection by frequently merging and testing code changes, reducing integration challenges.
  • CD automates releases, minimizing manual effort, deployment risks, and time-to-market.

With Git integration with Camunda and our CI/CD pipeline blueprint, organizations can reduce errors and foster collaboration while empowering teams to innovate quickly while maintaining stability and consistency across development, testing, and production environments.

Try it yourself

If you want to dive in and try this out yourself, learn how to set up the integration.

You can also follow along with this step-by-step video tutorial that will walk you through how to set this up and take advantage of the Git sync feature.

Start the discussion at forum.camunda.io

Try All Features of Camunda

Related Content

See how you can solve the RPA Challenge (and much more when it comes to orchestrating your RPA bots) with Camunda.
Leverage robotic process automation (RPA) to automate tasks, enhance efficiency, and minimize human errors.
From setting up your project to securing your endpoints, this guide lays the foundation for your API.