Continuous Integration is…
Mohammed Bokhary
Tech Leader | Digital Product Expert | Startup Enthusiast | Innovation | CX | AI
“Continuous Integration is…”
"About automating build and test processes to make sure the resulting software is in a good state, ideally every time a developer changes code. CI helps development teams avoid “integration hell” where the software works on individual developers’ machines, but it fails when all developers combine (or “integrate”) their code. Continuous Delivery goes one step further to automate a software release, which typically involves packaging the software for deployment in a production-like environment. The goal of Continuous Delivery is to make sure the software is always ready to go to production, even if the team decides not to do it for business reasons. Finally, Continuous Deployment is a process that automatically deploys the results of Continuous Delivery into the final production environment, usually every time a developer changes code (assuming all automated tests pass). Companies using Continuous Deployment can push hundreds or even thousands of releases into production every day. Of course, this practice requires excellent automated testing coverage and benefits from the ability to roll out changes slowly (e.g., starting with a small subset of servers or customers and expanding to more over time if no issues occur) and to roll back changes quickly if something goes wrong.
Development teams can take advantage of Continuous Integration by deploying a solution such as Jenkins, the most popular open source tool in the space, and configuring it to build and test their code. Continuous Delivery usually involves other DevOps-related tools like Puppet, Chef, Ansible, or SaltStack to install and configure environments for testing. Docker and container orchestration components like Kubernetes make it easier for teams to automatically set up and tear down these environments as part of the CI/CD process. The open source project Spinnaker, created by Netflix, provides a robust Continuous Delivery and Continuous Deployment solution. Although Continuous Deployment works best for websites and APIs, Continuous Integration and Continuous Delivery help with all software development, including shrink-wrapped products and internal use only applications."
Rod Cope @RodCope
Rod Cope, CTO at Rogue Wave Software, has spoken on various technical and business topics at Strata/Big Data, OSCON, Embedded World, Embedded Systems Conference, ApacheCon, and LinuxCon, was a ZendCon keynote speaker, and received the JavaOne Rockstar Award three years in a row.