DEV Community

Adam Lewis
Adam Lewis

Posted on • Edited on

Setting up Android CI/CD, the intro - Insurance for a rainy day

Part one of an N part series: The motivation behind trying to build my own CI system & why now. (Part two)

Three and a half years have gone by since I wrote my first post here on dev.to: Why I wrote a Password Manager and what I've learned and a lot has changed since then. I've learned new skills, met new people and even moved to a new country! So I can even say that I have learned not only new programming languages but a new spoken one too!

Yet during all of this time and through all of these changes, one thing has remained consistent and stayed the same: my laptop. Nearly 8.5 years old now, my machine is definitely starting to feel the effects of Moore's Law however...
My PC rated as 21%
But still this machine just keeps on going. It keeps processing and compiling and taking on whatever little software projects I throw at it all in stride without so much as a single complaint (Ignoring one dead & replaced SSD!)

That was until recently however when the power jack stopped working and I thought is this it, the end?.. Will I at last have to replace you and say farewell?

Well I can happily write, on the afflicted laptop, that thanks to a bit of luck & some DIY repairs, we're going to stay together for a little while longer!

That is at least until Microsoft ends support for Windows 10 in 2025... By which point I should accept that our time together is over & that my trusty machine will probably become a file server/backup machine or something else...

Which got me thinking: what am I going to do when the day eventually does come that we say farewell to one another? When I finally buy myself a shiny new machine to catch up with the latest tech?

One thing I know for certain is that I don't want to create more pain than is absolutely necessary recreating my environment... Maintaining/deciphering READMEs & the toolchains they describe sucks, and these last few years I've tried to combat this in both my professional & personal work by leaning heavily into the concept of "dev-env as code" thanks to the ability to run Visual Studio code connected to a docker container/stack of containers: example...

And honestly? I've found this approach very useful... I can destroy/swap between projects easily - so why not try to learn and push ourselves a little further?

I have an old Android app & an old laptop both from that original article 3.5 years ago, but today I have stronger docker & jenkins knowledge + a NAS server that can run containers...

Let's build ourselves a dockerised CI/CD system
Bring it on

Part two coming soon...

Top comments (0)