Elixir / Phoenix 应用部署工具
Elixir / Phoenix apps deployment tools
是否有用于部署 Elixir / Phoenix Framework 应用程序的任何工具,例如 capistrano 或 mina(ruby 在 rails 项目上的部署工具)?
Phoenix documentation has a section on deployment. It seems as though, once a release has been generated with exrm,任何能够 运行 远程命令的自动化工具(例如 Ansible 等)都可用于部署该版本。
这取决于你需要什么。但是使用 exrm 构建一个版本可以让你以完全不同的方式考虑部署。使用发布部署更简单,直到您通常不需要像 capistrano 或 mina 这样复杂的工具。
如果您只需要一种简单的方法来部署到服务器,那么当您生成一个版本时,您可以简单地使用 scp、untar 和 运行 将它复制到服务器。这是几行 shell 脚本来做到这一点。不需要花哨的东西。
另一个想法,我一直在玩,但我还不能把它投入生产,是根据发布生成一个 OS 包。这将允许很大的灵活性,并且仍然是一个文件部署。它还允许您以简单的方式表达应用程序对系统级包的依赖性。
如果您在部署 elixir 应用程序之外还有许多其他需要管理的东西,我会说将 mina 之类的工具与 elixir 一起使用是一个非常有效的解决方案。这并不是 ruby 具体的。
截至撰写本文之日,Distillery 是 Elixir/Phoenix 生态系统中真正用户友好的部署工具。事实上,它已经完全取代了 exrm 的部署目的。
是否有用于部署 Elixir / Phoenix Framework 应用程序的任何工具,例如 capistrano 或 mina(ruby 在 rails 项目上的部署工具)?
Phoenix documentation has a section on deployment. It seems as though, once a release has been generated with exrm,任何能够 运行 远程命令的自动化工具(例如 Ansible 等)都可用于部署该版本。
这取决于你需要什么。但是使用 exrm 构建一个版本可以让你以完全不同的方式考虑部署。使用发布部署更简单,直到您通常不需要像 capistrano 或 mina 这样复杂的工具。 如果您只需要一种简单的方法来部署到服务器,那么当您生成一个版本时,您可以简单地使用 scp、untar 和 运行 将它复制到服务器。这是几行 shell 脚本来做到这一点。不需要花哨的东西。
另一个想法,我一直在玩,但我还不能把它投入生产,是根据发布生成一个 OS 包。这将允许很大的灵活性,并且仍然是一个文件部署。它还允许您以简单的方式表达应用程序对系统级包的依赖性。
如果您在部署 elixir 应用程序之外还有许多其他需要管理的东西,我会说将 mina 之类的工具与 elixir 一起使用是一个非常有效的解决方案。这并不是 ruby 具体的。
截至撰写本文之日,Distillery 是 Elixir/Phoenix 生态系统中真正用户友好的部署工具。事实上,它已经完全取代了 exrm 的部署目的。