Plastic SCM Mergebots: Version Control for CI/CD
In this episode of The New Stack Makers podcast, we speak with Pablo Santos, chief engineer of Plastic SCM, a company he founded in 2005, just before the tech explosion that gave us Git, GitHub, Dropbox, and, lest we forget, the iPhone.
In many ways, Santos was ahead of his time. At a time when companies like Microsoft released software updates every two years, his design of a software system that updated three or four times a week was so revolutionary, they had to hide it from their corporate clients, by providing branded updates once a year. Once the industry started moving toward continuous delivery, or at least a ‘delivery-more-often’ model, the company’s customers wanted to know how Plastics accomplished such magic. So the company bundled its software into a proprietary platform.
PlasticSCM benefited greatly from Git’s popularity, acknowledged Santos.
MergeBots and Version Control
Plastics provides something unusual for CI/CD: version control. This piece of the pipeline has been the bane of Continuous Integration. Plastic manages version control by breaking processes into small branches, then versioning the branch only when it is ready to be launched into production. “Let’s have the version control collaborate with all the pieces but drives the process,” Santos said.
To facilitate the process, the development team built their own GUIs, for the Mac, Linux, and Windows operating systems. The GUIs provide visibility into the branches and merges, making the process intuitive. All of this is done in environments with huge amounts of data. Plastics has never put size limits on its repos; A lot of clients are game developers for whom a 4TB repo is no big deal, Santos said.
Last year the company launched a brand new product: mergebots. These mergebots act as automated orchestrators, managing the branches on their way to production. The mergebot is able to manage all of the branches on your repository, across all of the software used in the CI/CD process. It monitors the process through updates from issue trackers and automates all of it.
We think of it as hiring a mergebot for your pipeline team, Santos said. The idea came from asking the question “how can we add real value to our software?” By installing mergebots, it frees up time for developers to be more productive and move the product forward, instead of committing branches or monitoring tickets in Jira.
Listen to our conversation to hear how Santos kept Plastic on the cutting edge through huge upheaval in the tech industry, an in-depth discussion on branching, and his career advice to geeks.
In this Edition:
1:26 – How does Plastic work with version control?
4:16 – Can you talk about how you managed that amount of data?
10:15 – Exploring how Plastic manages the version control piece
14:08 – Can you talk about MergeBots and how they came about, and what it is they do?
18:48 – What do you have in your stack at Plastic?
23:53 – What advice do you have for engineers who are wanting to keep their careers current?