3

我确实在一个节点上运行了一个简单的 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

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

亲切的问候,

皮埃尔

4

1 回答 1

0

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

您应该vm.args在部署期间修改节点名。我使用 fabfile 来做到这一点。

或者你可能想要它:deploying-elixir-applications-with-edeliver

于 2016-08-29T07:29:53.797 回答