This document discusses continuous integration and continuous delivery practices at OLX Indonesia. It faced challenges like application bugs and crashes from lack of testing that led to bad user reviews. It addressed this by implementing continuous delivery practices like test-driven development, continuous integration, deployment to beta testers, and using crash reports and tester feedback for improvement. Key learnings included defining a clear git branch strategy, merging test and platform repositories, writing unit tests by default, and avoiding "Docker in Docker" for continuous integration.
17. 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).
21. 21
Master github Unit Test Build APK FTP to Server Functional Test
Dev Push
run Webhook
Artifactory
Server 1 for
Emulator
Server 2 for
Emulator
Server 3 for
Emulator
Server 4 for
Emulator
22. Appium Hub
Report Builder Artifact APK
Test
Emulator Emulator Emulator Emulator
Server 1 Server 2 Server 3 Server 4