Tanc
Tanc

Reputation: 667

How to Push a New Elixir Release on a Cluster Using exrm?

I do have a simple elixir app running on one node, exrm is doing his job properly by upgrading/downgrading it when needed.

I decided recently to create two nodes (it will be on two separates machines but i want to test it first on localhost)

So i read the following Chris McCord article

https://dockyard.com/blog/2016/01/28/running-elixir-and-phoenix-projects-on-a-cluster-of-nodes

and i have now two nodes,

[email protected]

and

[email protected]

with the following added to mix config

config :kernel,
  sync_nodes_optional: [:"[email protected]", :"[email protected]"],
  sync_nodes_timeout: 10000

I was used to do the following

mix release
ssh targethost mkdir deploy/releases/x.x.x
scp rel/sequence/releases/x.x.x/appname.tar.gz targethost:deploy/releases/x.x.x
ssh targethost ~/deploy/bin/appname upgrade x.x.x

May someone guide me on what to do to deploy upgrade/downgrade both nodes?

Kind regards,

Pierre

Upvotes: 3

Views: 111

Answers (1)

keroro520
keroro520

Reputation: 469

Exrm is a tool for packaging, but what you wanna is a tool for deploying.

You should modified the nodename in vm.args during deploying. I use fabfile to do this.

Or maybe you want it: deploying-elixir-applications-with-edeliver

Upvotes: 0

Related Questions