Continuous Delivery for Native Apps Notes

(This notes is from watching Continuous Delivery for Native Apps on GOTO 2015)

Continuous Delivery for Native Apps

What is Continuous Delivery?

Continuous Delivery means you ensure every change can be deployed to production. Continuous Deployment means you deploy every change.

Being able to deploy every change

Tools that support multiple platforms

  • Cucumber
  • RubyMine
  • Jenkins

Branches, build, and distribution

Feature branches

Feature branches

Jenkins jobs per branch

Plugin: http://entagen.github.io/jenkins-build-per-branch

Hockey app distribution per branch

  • A new app is created for each feature branch
    • Easy manual testing on devices
    • UX verification
  • Deleted again together with the branch
    • Hockey app does not get cluterred

(Chinese alternative: https://www.pgyer.com)

Different kind of tests

Tests

Cucumber / Calabash

Cucumber

BDD style tests. Test in ruby script. Server host in app side. Control app behavior.

Cross platform UI tests

Cross Platform Tests

Then go to the testing part… Not interesting at all