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

Jenkins meets Fastlane

Avatar for Adam Gask Adam Gask
August 16, 2017

Jenkins meets Fastlane

Supercharge your iOS apps with Jenkins and Fastlane.

Have you ever wanted to deploy your iOS app with the touch of a button? Build and test on every branch and every commit? Slack the developer who's just broke develop with a Shame gif?

If the answer is yes to any of these, you're in luck! The future is here, and it starts with Jenkins and Fastlane.

Adam goes through how to setup a delivery pipeline using Jenkins and Fastlane to build, test and deploy iOS apps. He'll be using AWS, Docker and as many buzzwords as he can fit into his talk as possible.

Avatar for Adam Gask

Adam Gask

August 16, 2017
Tweet

More Decks by Adam Gask

Other Decks in Technology

Transcript

  1. TEXT TALK PLAN ▸ Brief overview of Jenkins ▸ CD

    Book ▸ How we use it at UNiDAYS ▸ Demo on how to set up a Jenkins Master using Docker ▸ iOS Tests on a local Jenkins node
  2. TEXT WHAT IS JENKINS? ▸ Jenkins is an open source

    automation server ▸ A simple CI (continuous integration) server or turned into a fully fledged CD (continuous delivery) hub ▸ Runs on OSX, Windows and Unix- like systems ▸ Extensible - there is a plugin for nearly everything
  3. TEXT CONTINUOUS INTEGRATION (CI) / CONTINUOUS DELIVERY (CD) ▸ CI:

    A codebase is owned by several developers/testers that continuously integrate their changes to a common version control system. For each integration the system runs a predefined set of tasks automatically; these tasks may vary from running all the tests to building all the components. ▸ CD: Is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments —into production, or into the hands of users, safely and quickly in a sustainable way.
  4. TEXT WHAT IS JENKINS? ▸ Written in Java ▸ Fork

    of Hudson (Oracle) ▸ First release was in 2005 ▸ Jenkins 2 released 2016 ▸ Predominantly used as an in-house solution ▸ https://jenkins.io/
  5. TEXT WHY JENKINS? ▸ Simple setup ▸ Cross system support

    ▸ It’s established ▸ Chances are someone has tried doing what you want to do before ▸ Lots of tutorials around ▸ Builds can distributed ▸ Total control
  6. TEXT TERMINOLOGY ▸ Builds / Jobs: Tasks that you want

    to automate ▸ Master: The Jenkins controller, the thing that co-ordinates all builds ▸ Slave: A Jenkins node which performs builds ▸ Build Triggers: Things that notify and being builds ▸ Build Results: The success or failure results of a build ▸ Build Artifacts: Outputs from a given build (APK)
  7. TEXT CONFIGURATION MASTER SLAVE CODE BASE Build Trigger SLAVE SLAVE

    BUILD BUILD BUILD NOTIFIERS ARTIFACTS Build Result
  8. TEXT CONFIGURATION MASTER SLAVE CODE BASE Build Trigger SLAVE SLAVE

    BUILD BUILD BUILD NOTIFIERS ARTIFACTS Build Result
  9. TEXT CONFIGURATION ▸ Builds can be chained into a sequence

    ▸ Builds can be ran in parallel ▸ Different types of builds can take place at once ▸ The results can be easily viewed and displayed
  10. TEXT CONFIGURATION MASTER SLAVE CODE BASE Build Trigger SLAVE SLAVE

    BUILD BUILD BUILD NOTIFIERS ARTIFACTS Build Result
  11. TEXT BLUE OCEAN ▸ “Blue Ocean puts Continuous Delivery in

    reach of any team without sacrificing the power and sophistication of Jenkins.” ▸ It’s a friendly GUI around Jenkins to allow easier consumption of pipelines/jobs ▸ https://jenkins.io/projects/blueocean/
  12. TEXT CONTINUOUS DELIVERY BOOK ▸ Came highly recommended ▸ Lots

    of information and best practices ▸ “The” book on continuous delivery ▸ A little heavy/dry ▸ Does contain a strong framework to introduce continuous delivery to your team ▸ Awesome Trello board
  13. TEXT JENKINS @ UNIDAYS ▸ Automated releases for WWW &

    Apps ▸ Feature / Develop App Builds ▸ Nightly App Builds ▸ App Store releases ▸ Nightwatch Builds
  14. TEXT JENKINS @ UNIDAYS ▸ Integrates with chatbots ▸ His

    name is Asimov ▸ Hubot fork ▸ Automates releases for WWW & AWS