Continuous integration, continuous delivery, and continuous deployment cover different parts of the software development lifecycle, but are similar concepts. The idea is to automate as much of the pipeline as possible so that each change is continuously integrated into your codebase, and able to be continuously delivered and hopefully continuously deployed.