Saturday, January 9, 2021

Easily managing your build environments

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?


One option is to use Docker-based build environments. In this approach, you can create Docker images with the necessary build tools and dependencies. However, you will still have to remember the tags, mount your source code manually, and execute docker commands with multiple arguments each time. This approach is right but needs some effort.


To address the issues in the approach mentioned above, The Condo [1] was developed. The Condo is a simple bash script that wraps all the necessary docker commands you need to manage your build environments.


You can install condo by running the following command


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


Following are four simple commands that the Condo supports.


List build environments

    condo list

Run a build environment. condo <build-env-name>

    condo devj11

Stop a build environment. condo stop <build-env-name>

  condo stop devj11

Clean a build environment. condo clean <build-env-name>

  condo clean devj11


The configuration file (~/.condo/condo.json) allows to store all the necessary information to run the respective Docker images hence allowing you to run the docker image with just the name of the environment.

You can configure and add as many as build environment 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 your self share your experience!

[1] https://github.com/jsdjayanga/condo