Open Source Projects

Open Source Projects

At Praqma we believe in changing the world of software through sharing knowledge and building communities. That means an on-going commitment to Open Source. We contribute to a variety of Open Source projects and our team is responsible for several Open Source plugins.

Jenkins Configuration as Code

Manage your Jenkins instance as code with this easy-to-use plugin

We developed the Jenkins Configuration as Code (JCasC) plugin to remove the need to manually edit Jenkins global configuration after deployment. JCasC configures Jenkins automatically once the configuration file is prepared. This solution also means you can restore your Jenkins within seconds. JCasC also allows you to reuse the same file to configure multiple Jenkins instances, or to spin up a local instance to test changes before you make them part of the production environment.

Jenkins Configuration as Code is the last missing piece in the puzzle for you to completely manage your Jenkins instance as code.

This project is the result of a collaboration between Praqma and Cloudbees, and a growing number of external contributors.

Get Started

Check out the plugin and current release.
You’re more than welcome to contribute with code, or by creating issues with features or bugs. We don’t just want to solve our problems, we want to solve yours too!

Helmsman

A dynamic CI/CD solution to automate Helm charts deployment to your Kubernetes cluster

Helm packages Kubernetes applications as reusable, customizable and shareable packages called “charts”. However, as Helm is NOT a CI/CD tool you have to write your own custom scripts and do lots of configuration to manage the charts lifecycle from a CI/CD pipeline. At Praqma we’re all about automation, so we created Helmsman.

Helmsman adds a layer of abstraction around Helm and allows you to declaratively define a desired state of your Helm charts in a Kubernetes cluster. It enables you to automate your Helm charts lifecycle management.

Helmsman is told how to navigate from a declarative file called Desired State File (DSF) that you maintain as Kubernetes admin. It then interprets your wishes from the DSF and compares it to what’s running in the designated cluster. It is smart enough to figure out what changes need to be applied to make your wishes come true without maintaining/storing any additional information anywhere.

Get Started

Helmsman has been a big help to us and we are happy to share it with the community. We welcome all forms of contributions and feedback.
The project is hosted on Github.

Praqmatic Automated Changelog (PAC)

An automated way of creating accurate changelogs

This tool allows us to avoid a lot of manual work and uncertainty around new features and new releases. PAC builds up changelogs/release notes by querying your Git repository and possibly your Application Lifecycle Management (ALM) system(s) for extra metadata.

You can use PAC to create a changelog suited for both developers and release managers. Using templates you can customize the look and feel and generate entire web pages or pdf documents using a simple configuration file.

Get Started

PAC is avaliable here.

Pre-tested Integration Plugin

You couldn’t break master, even if you tried!

This Jenkins plugin is designed to keep your master branch from breaking under Continuous Integration by introducing an automated quality tollgate. It allows you to automatically rebase, build, test and run all kinds of checks on your changes before ultimately delivering them to master.

As a Git SCM decorator, the Pre-tested Integration Plugin listens for new branches matching a configured pattern (ex.: ready/*). When triggered, it merges the target branch into master locally and lets your job run its configured steps. Should they all pass, the plugin considers the merge result good enough and pushes it to the remote master.

All that’s left is to make sure only Jenkins has write access to master, and voilà, you are now the proud owner of an unbreakable mainline.

Get Started

The Pre-tested Integration plugin is available here. To learn more about pre-tested integration as a practice have a look at the following blog posts: Pretested Integration and How can Teams Collaborate without Pull Requests?.

2git

Migrate to git like a pro!

2git is a Groovy DSL designed to script your VCS migration. It continuously runs and tweaks your migration script to give you complete confidence in your migration. 2git currently supports migrating from Clearcase and Clearcase UCM to git and Artifactory.

2git was designed to iterate on complex migrations. We wanted to keep scripting freedom while mitigating the pains of dealing with the source VCS.

Get Started

2git is available on GitHub with user documentation at 2git.io.