lessless
Hi guys,
Since for some strange reason people are still using Edeliver I suppose we can talk about what we want it truly to be.
During 2018 two things happen that in my opinion gives us more flexibility to reshape in a more user-friendly tool:
- Distillery added appups
- Edeliver supports only Mix now
Thus now it’s possible to focus on the core deployment tasks:
- Building release
- Storing it somewhere
- Copying it to a designated servers
- Updating/upgrading an app
From this perspective there are two questions that should be solved:
- What are alternatives to bash scripting?
- How we decouple environments and deployment targets?
As you can now Edeliver supports two environments - staging and production. That’s a very basic scenario. Here is a latest example where it simply doesn’t fit Add support for multiple production environments by meox · Pull Request #301 · edeliver/edeliver · GitHub
I guess what we really want is to specify an environment and where (which hosts group) we want release to be deployed. Maybe also where it should be built. - What deployment guarantees do we want to achieve?
This is mostly about deployment to a multiple machines. What should happen if deploy fails? Do we want a retry or fallback mechanism for it? This might not be something of an immediate need but keeping it mind can be very useful since it can affect library design.
Please notice, that I’m not talking about deprecating Edeliver due to the respect to the amount of work that was invested into it and since it’s still being used despite being in decay state.
Let’s get a good discussion folks ![]()
Trending in Announcing
The repo is at GitHub - cyberchitta/openai_ex: Community maintained Elixir library for OpenAI API · GitHub.
Docs are at OpenaiEx User Gu...
New
WebAuthnLiveComponent WebAuthnComponents
See this post about renaming the package.
Passwordless authentication for Phoenix LiveView app...
New
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Castle is a package I put together to assist with building Elixir releases capable of being live-upgraded via the ‘official’ release hand...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Storex is a frontend store with state management handled on the backend. It allows you to update the store state both from the frontend a...
New
Other Trending Topics
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly)
AI dream has many faces, but general...
New
What IDE or editor are you using for Elixir development?
Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #ai
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
romul
Ruby, Python, Elixir itself.. Everything is better than bash scripts
OvermindDL1
Not always, bash scripts are succinct, readable, and load fast. ^.^
lessless
I guess we can rewrite most of the BASH scripts through the Mix Tasks
sanswork
I feel like every reply to this post could be split off to a new thread debating bash.
I am using edeliver at the moment and honestly it just works and I don’t really have any complaints which is why I continue to use it. I don’t use upgrades always releases. Actually only complaint is the verbosity of the commands required to do a release.
mix edeliver build release && mix edeliver deploy release to production && mix edeliver restart production && mix edeliver migrate production
That is kind of a drag and I tend to just create a one liner shell script in each new project called like deploy with that in it.
Dream changes/questions(all are low priority):
Failed deploys should rollback in my opinion.
rodrigues
Agree with @sanswork. It just works, and its setup is simple. I don’t use a lot of it, but it helps quite a bit. I wrap edeliver steps together with our own in one
mix APP.deploytask.These are not necessarily things that really need to become part of edeliver, but I think some of it could simplify deployment:
lessless
I think
updateshould do the job.Are you guys doing a single server deploy?
rodrigues
@lessless thanks, nice, didn’t know update did that
We have apps with single or multiple hosts per env, building and deploying is called locally atm…
sanswork
Hadn’t noticed that before thanks.
Only single server on any of my projects at the moment. Mostly deployed from local but I’ve started migrating over to using circleci.
lessless
Thanks for your replies guys, it’s great that it works as a turn key solution for you.
sanswork
No worries, thanks for your work on it.