There comes a time when our supervision tree is wonderfully set up and our gen_server
workers are ready to accept requests. Everything is fault-tolerant, concurrent, and ready to be distributed. Then, we have to actually create a release and start our code in different nodes.
In this recipe, we will be focusing on an Elixir library to help us with the release process: exrm.
Elixir Release Manager (exrm) defines its goal like this:
"This project's goal is to make releases with Elixir projects a breeze. It is composed of a mix task, and build files required to successfully take your Elixir project and perform a release build, and a simplified configuration mechanism which integrates with your current configuration and makes it easy for your operations group to configure the release once deployed."