A Clojure DSL for defining CI/CD orchestrations at scale

At Oracle, we do things at scale: 1000 Hudson/Jenkins masters, 2000 Artifactory repositories, 100 TB of Artifacts, every conceivable OS, SCM and the list goes on. Given this backdrop, we developed Carson to integrate lifecycle events from a variety of CI/CD/ALM applications. At the heart of Carson is an event driven workflow engine that orchestrates asynchronous jobs. It reacts to a diverse set of events that teams need to build CI/CD pipelines such as Git commits, Artifactory publishes, Hudson/Jenkins job transitions, Mesos task events. It does so by using a Clojure DSL to define handlers on these “channels” of events and dispatch actions. The DSL materializes pipelines as directed acyclic graphs which are visualized using D3.js.

 

rkumar

Rohit Kumar
Oracle

I am a software developer with experience in designing and implementing continuous integration and delivery solutions at Oracle. I have more experience working with Clojure than Java in my career.

 

 

 

piraj

Viraj Purang
Oracle

Viraj has over 19 years of enterprise software experience. He has been a software developer and consultant for close to 2 decades and has worked on various facets of software development. Most recently, he is helping define the development and deployment processes for the next generation of services that Oracle is building. He takes a keen interest in all things CI/CD and is responsible for building out and supporting several internal business-critical tools to enable Oracle to effectively leverage tool-stacks that are new to the company, including Docker, Mesos, Git, Artifactory and more.