Padraig Coffey, CEO at Zartis, is joined by Rob Zuber, CTO at CircleCI, as they discuss the evolution of Continuous Integration and Continuous Delivery/Deployment (CI/CD) technology.
The Guest – Rob Zuber, CTO at CircleCI
Rob has spent more than 20 years at the forefront of tech innovation and software startups. During this time, he co-founded 4 companies and served as CTO at 3, including CircleCI, the world’s largest shared continuous integration and continuous delivery platform. At CircleCI, he has led the company through its Series B through E rounds, and is currently leading a team of 150+ engineers.
The Evolution of CI/CD
Rob walks us through the evolution of CI/CD from two main perspectives, both closely interlinked – on one hand the evolution of processes and working methodologies (e.g. the impact of Agile) and on the other – the evolution of tools in this space.
The episode explores:
> What is Continuous Integration and Continuous Deployment?
> What are the advantages of implementing CI/CD approach?
> How did CI/CD ideas and technologies come about and evolved over the past few decades and who were the key figures behind them?
> Has Covid impacted the way or speed at which companies are implementing CI/CD?
> What does the future hold? The end of on-call?
Rob, to kick off, you can tell us a little bit about what CI/CD is?
Yeah, for sure. So let’s start with CI, which is Continuous Integration. Continuous Integration is effectively the practice integrating your software on a regular basis, where integrating is bringing together the changes that have been made by multiple different developers. And the purpose is really to shorten the periods during which there are different or diverging versions of the software to eliminate or at least greatly reduce the risk of conflict. And by doing that you eliminate the extra effort of then integrating diverging paths of your software. When you do that, it’s not just merging the code together, but validating that the changes that have been made by each party are good and work together, and conflicts haven’t been created. Usually, that involves a series of automated tests.
And then CD, interestingly, often gets referred to, or used as, an abbreviation for two different things – continuous delivery or continuous deployment. Delivery being you’re continually creating deployable artifacts, and continuous deployment being continually actually deploying those into a production environment.
Some articles on this topic we enjoyed:
You can find The Story of Software podcast on:
We hope you enjoy listening to this tech podcast and feel free to share any feedback with us: firstname.lastname@example.org