如何使用exrm在群集上推送新的Elixir版本?

时间:2016-08-27 15:40:14

标签: elixir exrm

我确实在一个节点上运行了一个简单的elixir应用程序,exrm正在通过在需要时升级/降级来正常工作。

我最近决定创建两个节点(它将在两台分离机器上,但我想先在localhost上测试它)

所以我读了以下Chris McCord的文章

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

我现在有两个节点,

  

n1@127.0.0.1

  

n2@127.0.0.1

添加以下内容以混合配置

config :kernel,
  sync_nodes_optional: [:"n1@127.0.0.1", :"n2@127.0.0.1"],
  sync_nodes_timeout: 10000

我习惯了以下

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

有人可以指导我如何部署升级/降级两个节点吗?

亲切的问候,

皮尔

1 个答案:

答案 0 :(得分:0)

Exrm是一个打包工具,但你想要的是一个部署工具。

您应该在部署期间修改vm.args中的节点名称。我使用fabfile来做这件事。

或许你想要它:deploying-elixir-applications-with-edeliver