My friend and I were working on Android project. The project was divided in two parts: client side and backend. My responsibility was to develop REST services so every time my friend made changes to client side I had to pull new requests from GitHub, build project and deploy to my device to make end-to-end tests. It was time consuming and boring. So I decided to solve this problem.
What it does
Tristan offers to test, watch and enjoy your Android application development process without build tools or USB cables.
How we built it
Every commit pushed to Android project on GitHub launches Travis-ci build that produces
.apk file. Then the build artifacts are uploaded to AWS S3 object store. This event is monitored by AWS Lambda service which sends notifications with commit message, url to GitHub commit summary page and .apk url to certain people. The notifications are delivered by Slack which offers nice environment for project members to collaborate.
Challenges we ran into
The only major challenge we faced was to design adjustable solution not only for developers but also for anyone who is interested to experience a mobile application at early stages.
Accomplishments that we're proud of
The process chain in Tristan the deployer works nice and smoothly.
What we learned
We learned the flexibilities and capabilities of AWS infrastructure.
What's next for Tristan the deployer
Currently Tristan is not a generic solution. So the project maintainers have to build the infrastructure and customise certain services for their needs. The next improvement for Tristan is to become more user friendly and simple to use with more data and geek stats for project members.