Continuous integration is a software development practice where members of a team use a version control system and frequently integrate their work to the main branch. Each change is built and verified to detect integration errors as quickly as possible.
Continuous integration is focused on automatically building and testing code to check that the application is not broken whenever new commits are integrated into the main branch.
Continuous delivery is a software development methodology where the release process is automated. Every software change is automatically built, tested, and deployed to production.
Before the final push to production, a person, an automated test, or a business rule decides when the final push should occur. Although every successful software change can be immediately released to production with continuous delivery, not all changes need to be released right away.
This means that on top of automated testing, you have an automated release process and you can deploy your application any time by clicking a button.