Application software development and deployment can be maddeningly slow, especially when you see a competitor putting out cool new features and growing with blinding speed. So you wake up one day and tell your boss you should do Continuous Integration/Continuous Deployment (CI/CD). Because Agility! You reason. Unfortunately, she thinks it s a great idea, and asks you to plan and execute. Now what?
Implementing CI/CD is, first, a technical challenge. Central is understanding that your code repository will affect the CI/CD toolkit you deploy, and it may even, in some cases, be worth changing repos as part of this process -- obviously, this can be disruptive. Just as important, though, is that implementing CI/CD requires lots of behavior-change -- your people will need to comply with new coding standards, new processes, and they (and your project) will need to tolerate an initial disruption of development cadence. There will be individual and institutional learning-curves.
In this presentation, I ll talk about:
- How choice of code repository affects the toolset, and how to know it s time to switch.
- Purposes of CI and CD (integration and deployment are both hard, generally happen last, so we want to do them all the time!), and how to know if you re doing it right.
- OpenStack tools available to facilitate CI/CD (Murano, Heat, Glance)
- Code review -- What is it, and why would adding a step to checking in code help things?
- Unit tests? What are these things? Who writes them? Why do they help? How much coverage should I have?
- Should I make my developers write integration tests?
Attend this talk, and you ll go away understanding the basics of transitioning to CI/CD, and many of the pain-points inherent to the process. You ll have a grasp of timelines, knowledge of tools commonly used, and an improved understanding both of how CI/CD actually enables faster, better software development, and of the role of CI/CD in OpenStack.