Successfully reported this slideshow.

Jenkins CI in Action


Published on

What Jenkins is, how to integrate with Gerrit code review tool.

Published in: Technology
  • Be the first to comment

Jenkins CI in Action

  1. 1. Jenkins CI in Actionby Mikhail Pobolovets
  2. 2. Foreword● Senior Ruby developer/Team leadat Altoros Systems● Ruby developer since 2007● Haskell and Erlang enthusiast●
  3. 3. What is CI?Continuous Integration is a softwaredevelopment practice where members of a teamintegrate their work frequently, usually eachperson integrates at least daily - leading tomultiple integrations per day. Each integration isverified by an automated build (including test) todetect integration errors as quickly as possible.– Martin Fowler
  4. 4. Who is Jenkins?● Written in Java, but thats not a problem● Platform with minimum functionality● Plugins support– Gerrit, Github, IRC, Jabber, Skype, Vagrant, Rake,LDAP– About 780 plugins● Distributed builds (Master – Slave)
  5. 5. I want one!
  6. 6. So why you might want Jenkins?● Bad commit? You will know about in 5 minutes● Code delivery is easier and faster● Automation of annoying tasks● No need to invent a wheel, you already have aplatform● The biggest community among other CIproducts
  7. 7. Alternatives
  8. 8. GerritGerrit is a web-based team software codereview tool.
  9. 9. Workflows● With Gerrit trigger – Main workflow for Devs– New patch set / Draft published– Special comment posted– Special phrase in commit message to skip build● By schedule– Integration testing (nightly)● By dependency build– Special case if you have projects with shared codebase
  10. 10. Gerrit workflowVerifiedPullReviewedPushPullSubmit
  11. 11. Tweaks● GC tweaks● Parallel Tests● Pspec● Skip part of the test suite if possible● Rubocop● Simple script to find out basic errors (debugger)● Brakeman