Jenkins User Conference US West 2014

Jenkins LogoI went to the Jenkins Users Conference, hosted at the very nice Hyatt Regency SFO in Burlingame, Calif. There were about 600 attendees.

There were 3 talk tracks, plus a misc. track. The talks were not technically difficult, but then using Jenkins is mostly about organizational process and installing plugins.

Keynote
Kohsuke Kawaguchi, Jenkins Creator

  • X1K project to handle 1,000 build slaves (should be enough for any single corporation)
  • NIO for a few threads to manage humdreds of slaves
  • Puppet Enterprise consulting donated a week to setup puppet, vagrant and docker infra to replace ad hocness
  • 3D print your own Jenkins mascot.

Automation, Innovation and Continuous Delivery
Mario Cruz, Choose Digital @MarioCruz

  • private branded digital entertainment downloads for hotels and megacorps (Marriot, petro-canada, airlines)
  • moved from on-prem to aws
  • outsource everything that doesn’t make money
  • feature flags are great for syncing app with apple app store approvals
  • builds are automatically deployed to either prod or stage env using one Jenkins hosted by cloudbees
  • motivation for CD is to have 2-week vacations
  • manager guesses can only be trumped by data
  • programmers are on-call. Write better tests if you don’t want to get called
  • devs get 45 minutes to either fix or rollback a release, ends up being 30% rollback, 70% fix with frequent releases. Easy if a feature flag can be disabled.
  • QA has 45 min to look at stage before live in prod for consumer brands. API just goes out.
  • Slack is better than JIRA, but $6 more per developer
  • Hipchat, New Relic, Asana, Cloudbees, JIRA
  • Archaius from Netflix OSS
  • DBA is the real gate for Continuous Deployment. Buy him some lunches and explain what’s in it for him.

Advanced Workflows for Multi-Platform Mobile Development
Emanuele Zattin, Realm Inc. (Italy) @emanuelez

  • Nokia before, deployed Jenkins globally to replace custom build scripts
  • even if you’re a mobile library, you still have to provide sample apps, so resolution, UI, stores
  • make, Xcode, etc., valgrind!
  • Tip #1: don’t waste developer time and focus with a context switch. Don’t waste qa time.
  • build, test, coverage, todo length, artifact size growth
  • Extreme Feedback http://gitgear.com/xfd lamp, gamifies multiple teams!
  • Tip #2: fingerprint and store artifacts. You will need them later!
  • Tip #4: version control your build scripts, be careful with release scripts
  • mobile devices are connected to slaves
  • gradle is helpful for Android builds
  • custom interface for Apple iOS devices
  • Mac Pro with VMware, RAM disks crash
  • Ansible to provision slaves
  • Docker for Android builds
  • gcc and clang have valgrind-type address sanitizer option now that’s very fast, just run valgrind nightly
    http://en.wikipedia.org/wiki/AddressSanitizer

Lunch

  • sandwiches, but nice mini subs with pasta

Exhibits Area


Jenkins Exhibitors
Jenkins Exhibitors

About a dozen booths.

Keynote Systems

  • metrics down to the end-user

Artifactory

  • awesome frog toy
  • database tracks artifacts, proxy reduces bandwidth, licence manager tracks usage

Serena

  • push button deploy after Jenkins builds
  • graphical UI for those who need that

Zend

  • Zend server

Cloudbees

  • hosted Jenkins

Yahoo!

  • recruiting
  • migrating from powerful but internally-developed build and release tools to popular Open Source tools

Ravello Systems

  • cloud management software that actually works, including a product similar to Ubuntu Juju .

    Unmasking the Jenkins DSL
    Matt Moore, Google

    • ex-compiler optimization guy
    • works with Jenkins at Google now
    • jobs plugin is crap. Needs knowledge of other 1,000 plugins to work, so far has 7, so 20 years behind already
    • hence structured form submission
    • YAML project type
    • !by-name shell
    • create a job, view yaml template
    • !kind matrix
    • http://Jenkins-ci.com/yaml-project-plugin
    • “git flow” by Victor Driessen
    • config in code with latest git plugin
    • features.yaml, releases.yaml, master.yaml multi-branch
    • intended for git and mercurial, others unknown
    • Jenkins does most validation in form, so yaml-project doesn’t do much yet
    • https://wiki.Jenkins-ci.org/display/JENKINS/YAML+Project+Plugin
    • there is also the autojobs plugin

    Operating Jenkins at Scale
    Ryan Campbell & Robert Sandell, Cloudbees, Inc.

    • congratulations, if you’re here, you own a large Jenkins installation! 🙂
    • monitoring
    • health, perf, business value
    • collectd, graphite, nagios
    • Jenkins Metrics Plugin DropWizard
    • Jenkins Operations Center (JOC) plugin. Uses ElasticSearch and Kibana
    • custom kibana tiles
    • who’s responsible?
    • how are backups, disk space, sameness, upgrades done?
    • choose plugins carefully
    • more masters: depts, plugin testing, etc.
    • bulk operations plugin for JOC

    Using Jenkins to Build Apache vhosts for Github Pull Requests on PHP Apps
    Sam Moffatt, Account Bouncer

    • previously at ebay, Sears
    • pull requests build an environment for developer or qa engineer
    • bind9 with mod_vhost_alias, comment out default vhost to avoid conflict
    • http://pr1.test, http://pr2.test, …
    • ensure if using Github Enterprise and custom SSL they are added to GE
    • ensure API setup correct
    • beware multiple pulls at same time, can cause confusing errors.

    Perfecto Mobile

    • USAA mobile app check scan, share feature awesome
    • emulators suck – false sense of confidence
    • 7 requirements
    • managing a device lab is hard – try 65 devices, different versions, can’t roll back
    • MobileCloud – Open and Integrated, real devices connected via USB (no jailbreaks)
    • will work on shake testing if there’s market demand

      Lightning Talk #1: FIFA Gameplay Automated Testing with Jenkins
      Stuart Rowe, Electronic Arts

      • old system was scripts with manual emails notifying developers, about 8 hours of busywork per week by an engineer
      • new system uses Jenkins
      • performance testing done on real devices.

      Lightning Talk #2: Supercharged Configuration as Code – Using Jenkins to Control Mass Updates of JOB DSL
      Alan Beale, Chicago Trading Company

      • bulk updating of 100 jobs?

      Conversations

      • Jenkins backup master. Master is just a directory, so copy files?

      Conference Suggestions

      • Advanced Track with more programming, like Google’s YAML-project talk
      • community bulletin board in hallway.

      Interesting phone charger tree with Post Office box-style, with combo locks:

      Knuckles Historical Sports Bar

      #jenkinsconf

This entry was posted in API Programming, Business, Cloud, Conferences, Open Source, Oracle, Tech, Toys. Bookmark the permalink.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.