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

Continuous Integration for iOS

Continuous Integration for iOS

Slides from the following event: https://www.meetup.com/StartUp-LAB-Krakow/events/230989983/

Software development consists of many tedious and repetitive tasks at the same time. Wouldn’t it be good to automate this? Continuous Integration, which automates the process of delivery, testing and software quality control allows us to focus on the project itself, thereby saving the resources needed for its development.
What are the advantages of using Continuous Integration for Apple's iOS platform?
Which solution to choose? Implement your own infrastructure, or maybe make use of the ready-made solutions like PaaS?

Paweł Kowalczyk

May 17, 2016
Tweet

Other Decks in Programming

Transcript

  1. Agenda • The benefits of Con.nuous Integra.on • Possible solu.ons

    • Recommenda.on © Paweł Kowalczyk, Codete 2016
  2. Agenda • The benefits of Con-nuous Integra-on • Possible solu+ons

    • Recommenda+on © Paweł Kowalczyk, Codete 2016
  3. What is Con+nuous Integra+on? Con$nuous Integra$on is a set of

    principles and prac$ces that help to automate many $me consuming tasks associated with the process of so9ware development, such as delivery, tes$ng, and quality control. © Paweł Kowalczyk, Codete 2016
  4. Build process automa0on Benefits • avoid last-minute chaos at release

    dates • allow team members to easily prepare builds • single place for Apple cer:ficates © Paweł Kowalczyk, Codete 2016
  5. Test automa*on Benefits • enforced discipline of frequent tes1ng (periodically

    or a6er push) • easy access to code coverage metrics • automa1c repor1ng of test results © Paweł Kowalczyk, Codete 2016
  6. Code quality inspec1on Benefits • easy introduc/on of coding rules

    • automated code analysis • automated search for poten/al bugs and code duplica/ons © Paweł Kowalczyk, Codete 2016
  7. Agenda • The benefits of Con.nuous Integra.on • Possible solu*ons

    • Recommenda.on © Paweł Kowalczyk, Codete 2016
  8. Pros • universal pla-orm: iOS, Android, ... • customizable and

    expandable with addi>onal tools, i.e. Fastlane, Buildasaur, Fabric, Sonarqube, Slack... © Paweł Kowalczyk, Codete 2016
  9. Cons • very bad UX • difficult and 3me-consuming configura3on

    • high entry-barrier for team members © Paweł Kowalczyk, Codete 2016
  10. Xcode Server Apple's con+nuous integra+on system for iOS and OS

    X which enables automa+ng sta+c analysis of so<ware, unit tes+ng, and build archiving. © Paweł Kowalczyk, Codete 2016
  11. Pros • easy integra,on with iOS projects - twin pla7orm

    • direct configura,on from Xcode • customizable and expandable with addi,onal tools, i.e. Fastlane, Buildasaur, Fabric, Sonarqube, Slack... © Paweł Kowalczyk, Codete 2016
  12. Cons • lack of learning materials • version compa3blity issues

    • no support for interchangeable environments © Paweł Kowalczyk, Codete 2016
  13. PaaS A category of cloud compu1ng services that provides a

    pla7orm allowing customers to develop, run, and manage applica1ons without the complexity of building and maintaining the infrastructure. © Paweł Kowalczyk, Codete 2016
  14. PaaS Pros • make apps, not infrastructure! • easy configura6on

    • outsource the infrastructure maintenance to 3rd party pla;orm • customizable and expandable with addi6onal tools © Paweł Kowalczyk, Codete 2016
  15. PaaS Cons • security relies on 3rd party pla2orm •

    allow 3rd party to retrieve source code © Paweł Kowalczyk, Codete 2016
  16. Buddybuild Buddybuild )es together Con)nuous Integra)on, Con)nuous Delivery and an

    Itera)ve Feedback Solu)on into a single, seamless pla>orm. © Paweł Kowalczyk, Codete 2016
  17. Buddybuild Pros • integra)on with GitHub and Bitbucket • take

    a screenshot to start sending feedback • built-in crash repor)ng • interchangeable environments © Paweł Kowalczyk, Codete 2016
  18. Buddybuild Cons • no transparent and customizable pipelines • no

    scrip3ng support • s3ll growing list of addi3onal tools © Paweł Kowalczyk, Codete 2016
  19. Bitrise Con$nuous Integra$on and Con$nuous Delivery (CI/CD) Pla8orm as a

    Service (PaaS) with a main focus on mobile app development (iOS, Android). © Paweł Kowalczyk, Codete 2016
  20. Bitrise Pros • great support! • integra/on with GitHub and

    Bitbucket • easy & quick configura/on • transparent and customizable pipelines © Paweł Kowalczyk, Codete 2016
  21. Bitrise Pros • one-click building • interchangeable environments • scrip7ng

    support • customizable and expandable with addi7onal tools, i.e. Fastlane, Fabric, Slack, Calabash... © Paweł Kowalczyk, Codete 2016
  22. Bitrise Cons • payment fee (~ $50/month) for: ∞ team

    members ∞ builds / month © Paweł Kowalczyk, Codete 2016
  23. Agenda • The benefits of Con.nuous Integra.on • Possible solu.ons

    • Recommenda)on © Paweł Kowalczyk, Codete 2016
  24. Thank you for your a,en.on Do you have any ques-ons?

    © Paweł Kowalczyk, Codete 2016