ci/cd android

23
BEKRAF - INDONESIAN AGENCY FOR CREATIVE ECONOMY Continuous Integration and Continuous Delivery Rendra Toro OLX Indonesia Intel Innovator

Upload: rendra-toro

Post on 09-Jan-2017

73 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Ci/CD Android

BEKRAF - INDONESIAN AGENCY FOR CREATIVE ECONOMY

Continuous Integration and Continuous Delivery

Rendra ToroOLX Indonesia

Intel Innovator

Page 2: Ci/CD Android

CHALLENGE - BUGS AND APPLICATION CRASHES

3

Page 3: Ci/CD Android

RESULT - BAD USER REVIEWS

4

Page 4: Ci/CD Android

CHALLENGE - LONG FEATURE RELEASES

5

IDEA

FEATURE

Page 5: Ci/CD Android

CONTINUOUS DELIVERY

6

Reducing Risk

& Waste

Rapid Release Customer Feedback

Innovate

Page 6: Ci/CD Android

TEST DRIVEN DEVELOPMENT

7

Page 7: Ci/CD Android

FUNCTIONAL TESTING

8

Page 8: Ci/CD Android

CONTINUOUS INTEGRATION

9

Page 9: Ci/CD Android

DEPLOYMENT

10

Page 10: Ci/CD Android

BETA VERSION DISTRIBUTION

11

Crash Reports Feedback from testers Analytics

Page 11: Ci/CD Android

CONTINUOUS DELIVERY

12

1. PLAN

2. CODE

4. TEST

3. BUILD

8. RELEASE

5. DEPLOY

7. MONITOR

6. OPERATE

Page 12: Ci/CD Android
Page 13: Ci/CD Android
Page 14: Ci/CD Android
Page 15: Ci/CD Android
Page 16: Ci/CD Android
Page 17: Ci/CD Android

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).

Page 18: Ci/CD Android

Branching

Page 19: Ci/CD Android

Branching

Page 20: Ci/CD Android
Page 21: Ci/CD Android

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

Page 22: Ci/CD Android

Appium Hub

Report Builder Artifact APK

Test

Emulator Emulator Emulator Emulator

Server 1 Server 2 Server 3 Server 4

Page 23: Ci/CD Android

BEKRAF - INDONESIAN AGENCY FOR CREATIVE ECONOMY

Thank You