kuon
I use edeliver for deployment and it works great.
I’d like to be able to extend edeliver to run custom commands, for example:
mix edeliver console
would do something like this:
$ ssh deploy-host
# /approot/bin/myapp remote_console
In ruby apps, I can juste write a capistrano script, I wonder how to approach this with my elixir apps.
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
I’m aware of 2 such projects, are there others?
git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
Hi all,
I’m working on a Phoenix project where I need to make external HTTP requests and I’m trying to choose between Req and HTTPoison....
New
Hi everyone.
My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
Hi,
we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New
Hi all, I’m new here and would like to hear peoples views on my Elixir/Phoenix based game-engine! :smiley:
Mutonex gamedesign was finish...
New
Hello
I’ve been coding in Elixir for almost two years now because of my current job where we implemented Elixir in our application. But ...
New
Other Trending Topics
Hey there,
I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first.
...
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
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
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
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
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
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #blog-post
- #ecto-query
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #hex











Showing Posts 1 to 5- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
bharendt
Yes, this is possible. If you create a bash script at
.deliver/strategies/erlang-consolecontaining arun()function and an optionalhelp()function you should be able to runedeliver console. If you want to pass custom parameters, you can add a.deliver/helpscript file implementing anaccepts_custom_command_argument()function to which the command is passed as first and the argument as second parameter and which should return0for accepted arguments, otherwise1. The output of the optionalprint_custom_commands_help()function will be appended to theedeliver helpoutput.kuon
Great insight, thanks.
kuon
I was able to create the command, but how can I run the command on my staging or production host? I tried
__sync_remotebut it runs the command on my build host.bharendt
True,
__sync_remote()executes commands on the build host.__remote()executes commands on the deploy hosts, but asynchronously. This will not work nor make sense for a remote console. Starting a remote console will work for one node only in any case, so you must ensure that there is only one deploy host in you config or that you set the deploy host config to a single host according to yourconsolecommand line arguments. Maybe having a look at the__execute_node_command_synchronously()function might help. You could alsosourcethat file and call that function or__execute_node_command()directly. A custom.deliver/strategies/erlang-consolescript could look like that:kuon
I came up with the following:
Which works, except for one details, the erlang nodename is modified, and I end up in
iex(remsh3379d012-kura@127.0.0.1)1>instead ofiex(kura@127.0.0.1)1>.I was able to trace the problem to the absence of TTY. If my app is called without a TTY, erlang seems to randomize the node name.
I can just replace
__execute_node_commandwith a direct ssh call now that I am more familiar with the edeliver internals. But I wonder if maybe this is a bug somehow, because I noticed thatsshwas called with-tfrom__execute_node_command.