From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Continuous integration / deployment with Jenkins
1. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Continuous Integration /
Deployment with Jenkins
Code4Lib - May 14, 2014
Ashok Modi
2. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Agenda
• About us
• What is:
• Continuous Integration?
• Continuous Delivery/Deployment?
• About Jenkins
• Why Jenkins?
• Demo
• Tools used
3. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
About us
• Cherry Hill
• Drupal since 2005
• http://chillco.com
• https://twitter.com/thecherryhillco
5. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
• Practice of merging
all developer working
copies with a shared
mainline several times
a day
• Prevent feature
integration/fix
problems
• Automated testing
7. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
• Everything involved in
Continuous
Integration
• Make sure the
software checked in
on the mainline is
always in a state that
can be deployed to
users
• Makes the actual
deployment process
rapid
8. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Jenkins
• Continuous Integration software
• Test code / functionality changes to software
• Gradually evolved to also managed deployments
(Continuous Delivery / Deployment)
• Front-end to manage your software delivery
workflow
• Many plugins (VCS, Testing, Notifications, Views)
9. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Why not Jenkins
• Already using a 3rd party solution
• Pantheon, Acquia, Heroku, etc
• Already using Chef / Puppet for deployment
• Does not involve “just” Jenkins
• Capistrano (Ruby), Fabric (Python), etc
• “Heavy” (Java)
10. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Why Jenkins?
• Create test builds
• Run tests Easily
• Script the production build process
• Easy deploy
• Automated
• “Push the button!”
11. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Who is Jenkins for?
• Systems Admin
• Host on your own infrastructure
• Possibly dealing with various kinds of projects
(Drupal, Wordpress, Rails, etc)
• Tired of emails/chat asking to update the dev /
production sites
12. Continuous Integration / Deployment with Jenkins Code4Lib - May 2014
Who is Jenkins for?
• Everyone else
• PM (approve test site and build)
• Non sys-admins (automatically view dev site
with latest code)
• Manual testers (integrate with ticketing systems
to approve/reject production build)