Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing Developer workflows with Jenkins

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →
btmash
November 16, 2014

Managing Developer workflows with Jenkins

The slides are about Jenkins, a continuous integration tool that is very useful for testing your software and also for deploying it / managing it. I'll talk about using Jenkins with Capistrano where we use pre-existing deployment management software to tie Jenkins and our application together. I want to emphasize that since Jenkins is very much a frontend, the Capistrano portion of it can really be replaced with anything else you want (Chef, Puppet, Scripts, etc).

btmash

November 16, 2014

Transcript

15 slides
  1. Continuous Integration / Deployment with Jenkins Agenda • About us

    • What is: • Continuous Integration? • Continuous Delivery/Deployment? • About Jenkins • Why Jenkins? • Demo
  2. Continuous Integration / Deployment with Jenkins About us • Cherry

    Hill • Drupal since 2005 • http://chillco.com • https://twitter.com/thecherryhillco
  3. Continuous Integration / Deployment with Jenkins • Practice of merging

    all developer working copies with a shared mainline several times a day • Prevent feature integration/fix problems • Automated testing
  4. Continuous Integration / Deployment with Jenkins • 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
  5. Continuous Integration / Deployment with Jenkins 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)
  6. Continuous Integration / Deployment with Jenkins Why not Jenkins •

    Already using a 3rd party solution • Platform.sh, Heroku, Google App Engine, etc • Already using Chef / Puppet for deployment • Does not involve “just” Jenkins • Capistrano (Ruby), Fabric (Python), etc • “Heavy” (Java)
  7. Continuous Integration / Deployment with Jenkins Why Jenkins? • Create

    test builds • Run tests Easily • Script the production build process • Easy deploy • Automated • “Push the button!”
  8. Continuous Integration / Deployment with Jenkins 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
  9. Continuous Integration / Deployment with Jenkins Who is Jenkins for?

    • Everyone else • PM (approve test site and build) • Non sys-admins (automatically view dev site with latest code) • Imagine automatically starting the build task to provision a dev environment for every branch. • Manual testers (integrate with ticketing systems to approve/reject production build)
  10. Continuous Integration / Deployment with Jenkins Demo • Librarysite •

    Capistrano • Deployment manager • Rollbacks • Upgrades • Multiple servers • Saucelabs • Jenkins Pipeline

More Decks by btmash

Other Decks in Technology