So, I can segregate this into two broad choices which you might want to follow.
You might want to use this when you just want to get CI done. No questions asked. And you're not in the need of very fine control. For this, I'll recommend CodeShip.
I have been using it for the past couple of years now, and I just love it. Their pricing model is just terrific. You don't need a credit card if you have <100 builds/month. I am speechless about their support (semantics, ugh). Just drop them a line, and they make sure you get the help. You can automatically deploy a build branch with their deployment pipelines.
What I am particularly fond of, is their SSH access. You can get a snapshot of the build server, and the diagnose why it isn't working correctly. Really awesome!
However, that's not always the case. Sometimes you need finer control; control over everything. Right from the build environment, to the deployment artifact. For this, I'd recommend a custom CI solution.
For me, it's TeamCity by JetBrains. Another remarkable product from their suite of tools for developers. I mean, it's really very easy to use for beginners, but as your experience grows, you can do advanced things with it.
My favorite part here is that, with the free tier, you get 3 workers. Now, these workers are the things which actually execute and test your product. So, you get 3 parallel builds; something which wasn't free in CodeShip.
--
The deployment scheme I follow is rather simple:
That's my strategy. If you need help in setting this up, or with anything, feel free to contact me!
I hope this helps! :)