Part of an agile development philosophy, Continuous Integration/Continuous Development or Delivery requires that updates to code are rolled out as completed rather than in large batch updates.
Continuous integration tools, such as Jenkins and TeamCity, automatically branch and merge code from multiple developers to support large team-based development environments. Continuous delivery tools deploy finished code to production environments in a secure, error-free manner. Most continuous integration tools now support continuous delivery and vice versa.
Continuous Integration/Continuous Development. CI/CD requires a single source of truth for all the data and code that make up a pipeline. DataOps ensures that this source of truth remains untouched throughout the development process so pipelines already in production don’t break. With the source of truth safely housed in a central repository, team-based development becomes possible and developers can innovate without fear, reducing development cycle times.
As should be clear by now, this is no time to set it and forget it. ML and DevOps engineers should apply the DevOps practice of continuous integration and continuous development (CI/CD), which means they frequently update code to fix minor errors and maintain production quality standards. The CI/CD practice includes the following. Continuous integration. The ML and DevOps engineer split code branches to a development platform such as GitHub so they can update features, re-configure settings, or fix bugs. They test the revised code branch, identify issues, and resolve them. Continuous delivery. The ML and DevOps engineer, potentially working with ITOps, inspect the revised code branch, approve it, and kick off an automated release process to go live in production.