View on GitHub

Science in the Cloud 2019

Testing / Reproducibility

What is Continuous Integration?

Continuous Integration (CI) is a development practice that automates the process of integrating code changes from multiple developers into a shared repository frequently. Each integration can then be verified by an automated build and automated tests. CI does not necessarily mean automated testing, but it is usually implied.

Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove. Martin Fowler, Chief Scientist, ThoughtWorks

What is Continuous Delivery?

Continuous Delivery is an extension of Continuous Integration in that the codebase needs to be kept deployable at any point. In this phase an automated tool generates the configuration and build artifact(s).

What is Continuous Deployment?

Continuous Deployment is the final phase of the process and basically automates the deployment of the build artifacts into a production system.

CD vs CD

What is the benefit of CI/CD?

What are some of the challenges of CI/CD?