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

Cocoaheads Montréal: Xcode Bots

Cocoaheads Montréal: Xcode Bots

Talking about Xcode bots (and writing a book about it)

Romain Pouclet

November 11, 2014
Tweet

More Decks by Romain Pouclet

Other Decks in Programming

Transcript

  1. Xcode Bots
    Cocoaheads Montréal 11/2014

    View full-size slide

  2. Who ?
    • Romain Pouclet
    • @palleas
    • iOS developer at TechSolCom / R3D
    • Wrote a book

    View full-size slide

  3. I wrote a book
    • Pro Continuous Integration for iOS
    • 230 pages
    • Anybody wants one ?

    View full-size slide

  4. Continuous integration
    (CI) is the practice, in
    software engineering, of
    doing a bunch of stuff...
    — Wikipedia (kinda)

    View full-size slide

  5. Existing solutions
    • Jenkins !!!
    • Bamboo """
    • Travis-CI & Ci ###

    View full-size slide

  6. Jenkins & TechSolCom
    • OpenSource ❤️
    • Nice bash script
    • Homemade distribution store

    View full-size slide

  7. Bamboo & TechSolCom
    • !
    • Complicated to use
    • Terrible support for Xcode projects
    • Unstable network = unstable instalation

    View full-size slide

  8. Travis & TechSolCom
    (Nope)

    View full-size slide

  9. Continuous
    integration is hard
    (and boring)

    View full-size slide

  10. Continuous integration is hard
    (and boring)
    Entering Apple
    (a few years later)

    View full-size slide

  11. Writing a book talking about
    Bots?
    • Working with Apress is great
    • Initially a small chapter about a promising solution
    • A bag of hurt at the time
    • Had to rewrite / update a few chapters after WWDC

    View full-size slide

  12. Getting started
    with Bots
    • Standalone Application
    • 20$
    • Some cool features (App Store
    caching...)
    • Super easy to install !
    • Super hard to remove "

    View full-size slide

  13. Repository Management
    • Manage access to remote repositories
    • Host your project on your OSX Server (This can be done via
    Xcode)

    View full-size slide

  14. User Management

    View full-size slide

  15. XCode service

    View full-size slide

  16. Setting up a bot
    • Build app
    • Static Analysis
    • Automated Tests / Performance analysis
    • Archiving

    View full-size slide

  17. Static Analysis

    View full-size slide

  18. Static Analysis from command
    line
    (For comparison purposes)

    View full-size slide

  19. Unit Testing

    View full-size slide

  20. Web interface

    View full-size slide

  21. Demo
    (Maybe.)

    View full-size slide

  22. 1 branch = 1 bot
    (Basically)

    View full-size slide

  23. 1 branch = 1 bot
    1. Create a branch
    2. Create a bot
    3. Work on the feature
    4. Merge branch
    5. Delete bot
    6. Repeat

    View full-size slide

  24. Conclusion
    • Apple is finally entering the game
    • OSX Server is super easy to install / use
    • Still a lot of room for improvements
    • Bots are cheap, use them

    View full-size slide

  25. Thank you!
    Questions?

    View full-size slide