我有一个打包为 WAR 存档的 Lift 应用程序,必须部署在 Jetty 下。但是,我希望能够自动执行一些任务:
我正在使用 SBT,我不知道这与 Puppet 或类似的东西一起玩得有多好。你会怎么做?
最佳答案
我一直在看这个问题,希望有人能提出一个聪明的答案。既然他们还没有,我想我会在这件事上表达我自己的感受。
据我所知,没有现成的工具可以自动执行这些类型的部署,我认为这是因为有太多不同的场景需要处理。至少,你有:
我想 1 和 2 是最容易找到通用工具的,如果这些是我需要处理的唯一情况,我可能只会将 Jenkins 与应用程序一起部署。它可以很容易地配置为在发生更改时从 git 分支中提取、构建代码并重新启动 Jetty。但是,当您达到 3 和 4 时,我认为所涉及的不同工具的数量以及协调它们的需要已经排除了任何类型的标准解决方案。我不认为这只是 Java/Scala 世界中的一个问题,因为我看到 Github 人员关于他们为管理而构建的自定义工具的文章deployments of their Rails app .
至于 Puppet,需要注意的是,我从未使用过它,它似乎可以成为此类过程的有用工具。您需要某种类型的中央协调器来处理集群,我相信 Puppet 可以提供帮助。
关于scala - 部署自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15466239/