CI Pattern with Jenkins - Android
The Continuous Integration pattern we will using here is the smoke test feedback loop. We will make a few assumptions here:
- Jenkins Server is available and configured to talk to the build machines where the app is built
- Nexus is available and configured to talk to Jenkins
- SonarQube and sonar-runner are installed and configured with Jenkins
- Jenkins plugins can be installed as we go through the workshop, however prior knowledge of how to install plugins is assumed
- The appium servers are already started on the ports as specified in the devices.yaml
- The build/slave machine on which Jenkins runs is configured with the right Android SDK version, that the application is compatible with
- It is preferable to use a Mac, however PC should work too
- If you are working with Windows, you have tested the adb connection to the device and that developer options are enabled on the target real devices
- We are focusing on real devices, though we have emulators.yaml too. You have to create avds and add their configuration in emulators.yaml
- When executing smoke tests "bundle exec cucumber features target", target key,value pair is mandatory i.e. target should be EMULATOR= or DEVICE=