Ci/CD Android

Post on 09-Jan-2017

73 views 0 download

Transcript of Ci/CD Android

BEKRAF - INDONESIAN AGENCY FOR CREATIVE ECONOMY

Continuous Integration and Continuous Delivery

Rendra ToroOLX Indonesia

Intel Innovator

CHALLENGE - BUGS AND APPLICATION CRASHES

3

RESULT - BAD USER REVIEWS

4

CHALLENGE - LONG FEATURE RELEASES

5

IDEA

FEATURE

CONTINUOUS DELIVERY

6

Reducing Risk

& Waste

Rapid Release Customer Feedback

Innovate

TEST DRIVEN DEVELOPMENT

7

FUNCTIONAL TESTING

8

CONTINUOUS INTEGRATION

9

DEPLOYMENT

10

BETA VERSION DISTRIBUTION

11

Crash Reports Feedback from testers Analytics

CONTINUOUS DELIVERY

12

1. PLAN

2. CODE

4. TEST

3. BUILD

8. RELEASE

5. DEPLOY

7. MONITOR

6. OPERATE

What we have Learn• Define your git flow, don’t

mess up with your master branch (keep clean), create another branch and create Pull Request to order Jenkins to build test and merge to master if successful. (In term of Github, closer/faster and stable would be better).

• Merge your test repository along with your platform repository.

• Write unit test by default, the developer is responsible to write unit testing for any feature that he/she wrote.

• We are still using docker or create environment based on docker, we cant run it on Jenkins-Slave that was docker (Don’t do Docker in Docker for CI).

Branching

Branching

21

Master github Unit Test Build APK FTP to Server Functional Test

Dev Pushrun Webhook

Artifactory

Server 1 for Emulator

Server 2 for Emulator

Server 3 for Emulator

Server 4 for Emulator

Appium Hub

Report Builder Artifact APK

Test

Emulator Emulator Emulator Emulator

Server 1 Server 2 Server 3 Server 4

BEKRAF - INDONESIAN AGENCY FOR CREATIVE ECONOMY

Thank You