Manage Your Build Environments with the Condo

A simple bash script that wraps all the necessary Docker commands you need to manage your build environments into four easy steps.

Jayanga Dissanayake
2 min readMay 28, 2021

Have you come across situations where your build tools suddenly stop working after you update the operating system? Do you want a simple way of setting up your build environment each time you change or format your machine?

If you are looking for a solution to the above mentioned, the Condo is for you!

The Condo enables you to maintain your build environments as docker images and spin up an instance quickly whenever you need it. Yes, you can do this yourself if you have expertise in Docker. However, running docker commands with all the necessary parameters and properly mounting the workspace would be a bit complex to a newbie.

With the Condo, all these complexities are hidden, and you can get your build environment running in just a few commands. Here is how;

How to install

You can install the Condo on your machine by just running the following command.

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/jsdjayanga/condo/main/scripts/install.sh)"

Commands

The following are the four simple commands that you have to learn to work with the Condo.

condo list

Lists build environments

condo <build-env-name>

Runs a build environment. If you have named your Java 11 development environment as “devj11”, you can run it by “condo devj11”

condo stop <build-env-name>

Stops a build environment. If you want to stop your build environment named “devj11”, just run the command “condo stop devj11”

condo clean devj11

Cleans a build environment. If you want to clean the build environment named “devj11”, just run the command “condo clean devj11”

All the configurations that are necessary for the Condo are stored in the configuration file located in (~/.condo/condo.json).

You can configure and add as many as build environments you like, e.g., java, golang, spring, or any custom docker image of your choice. Furthermore, the “additional-arguments” section in the configuration allows you to provide any docker compliant arguments to your docker image.

Try the Condo yourself and share your experience!

https://github.com/jsdjayanga/condo

--

--