I would like to see one deployment tool that made a bunch of assumptions about how deployment was going to be done. So many assumptions that most of the more capable developers here would find it restrictive. It would act as a starting point.
When it did not fulfil some users requirements another solution can be created or this original tool extended where possible.
I am working on something myself with the following assumptions.
- Docker is used
- Configuration is with ENV variables
- Clustering will have to deal with dynamic ip addresses
I recently posted an intro talk to setting up projects, there is a follow up in the works which is more thorough an covers a decent deployment solution.
Agreed. This problem would be far less if starting from any sensible set of defaults and expanding in a pragmatic fashion.
Something I tripped up on myself. Always using env is restrictive but works for a lot of cases, I have gone so far as to remove config.exs
from my project generator so I have only one way to manage runtime config.
I’ve managed to get starting up a new Elixir project down to 3 commands, without even having Elixir installed (CAVEAT on a machine with docker. My target is people interested in the polyglot nature of microservices). My hope is that with a few more command a multi node deployment on production machines can be created.
I will probably assume deployment to kuberneties. I may even assume one particular platform, perhaps gigalixir. I hope this can be expanded in time, but is not something to start with.