Yeah! When I joined the team, the build system was basically a bunch of Bash scripts duct taped together so to speak. It would fail all the time and everyone was unhappy. Devs couldn’t get a solid image, nor could the QA team have a product that they were sure they could reproduce. The build team all quit out of frustration because everyone was blaming them all the time for delays and it wasn’t even their fault because they didn’t write the scripts.
Some intern started another script but left early in his project. He didn’t transfer anything to anyone and we basically had to take out his hard drive to connect it to my system to extract his scripts because he didn’t bother to give anyone the password to his machine.
I still had to redo everything from scratch because his scripts somehow only worked on his system and were not portable.
Over the course of one year, I rebuilt the whole thing from the ground up. And in the end, it was a mix of Python, Bash, Perl and it was using chroot jails and Qemu as a containerization system before Docker even existed. In the end, I could build a Linux distribution with any suite of software for multiple architecture using a simple config file. I had a master system that acted as a monitor and a load balancer that would delegate the builds to whatever machine or container was available and give me real time information on the progress of each build.
I was going to say that sounds like quite the elegant setup you ended up with, and in a pre docker world? Straight up crazy in my eyes. Really puts into perspective how I take all the tolling around containerization for granted nowadays.
And then when I have a job interview, they ask my how long I’ve been working with Docker. I tell them only a couple of years. They always say it’s not enough. Then I ask them if they know about chroot jails and debootstrap and how to assign resources using cgroups and they don’t even know that I’m taking about… SMH
Removed by mod
Yeah! When I joined the team, the build system was basically a bunch of Bash scripts duct taped together so to speak. It would fail all the time and everyone was unhappy. Devs couldn’t get a solid image, nor could the QA team have a product that they were sure they could reproduce. The build team all quit out of frustration because everyone was blaming them all the time for delays and it wasn’t even their fault because they didn’t write the scripts.
Some intern started another script but left early in his project. He didn’t transfer anything to anyone and we basically had to take out his hard drive to connect it to my system to extract his scripts because he didn’t bother to give anyone the password to his machine.
I still had to redo everything from scratch because his scripts somehow only worked on his system and were not portable.
Over the course of one year, I rebuilt the whole thing from the ground up. And in the end, it was a mix of Python, Bash, Perl and it was using chroot jails and Qemu as a containerization system before Docker even existed. In the end, I could build a Linux distribution with any suite of software for multiple architecture using a simple config file. I had a master system that acted as a monitor and a load balancer that would delegate the builds to whatever machine or container was available and give me real time information on the progress of each build.
Then the company went bankrupt.
I was going to say that sounds like quite the elegant setup you ended up with, and in a pre docker world? Straight up crazy in my eyes. Really puts into perspective how I take all the tolling around containerization for granted nowadays.
And then when I have a job interview, they ask my how long I’ve been working with Docker. I tell them only a couple of years. They always say it’s not enough. Then I ask them if they know about chroot jails and debootstrap and how to assign resources using cgroups and they don’t even know that I’m taking about… SMH