Our team needs an automated deployment tool and I have concentrated on two major options: Ansible and Jenkins.
Could you please consult me about pros and cons of each and also, if you know a better deployment tool, please recommend them and state why.
Some information about our structure: Debian OS (some programmers use Windows 8 and Debian on VM). Our version/code management tools are SVN and GitHub (hopefully soon, only GitHub). Main programming language is PHP.
Ansible and Jenkins actually perfectly supplement each other.
You should start with writing Ansible playbook for provisioning and deployment. When it's ready and you tested it from your local machine you can setup Jenkins job to use that playbook. Jenkins can use different triggers like GitHub commit webhook or cron-like scheduler.
In this setup you rely mostly on Ansible and you use Jenkins as a tool to run Ansible playbook when needed. Seems like a perfect separation of concerns.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With