First, you need to decide on what deployment model you are going to choose.
- Blue Green
Please refer this article for more info on this.
Next, comes the play for a specific deployment. It varies based on the infrastructure you use for your applications.
Based on your tooling, you could leverage the jenkins pipeline feature. You can have ansible playbooks for provisioning new deployment machines and configuring it with the latest code. Basically, you will have a CD job which connects to a slave machine containing Ansible. You should configure the job in such a way that it triggers the relevant ansible playbook for provisioning or deploying the new application version.