【问题标题】:Git deployment outside of herokuHeroku 之外的 Git 部署
【发布时间】:2012-07-16 10:04:53
【问题描述】:

我非常喜欢在 heroku 中通过推入 git 来部署应用程序的方式。有没有办法在 Java 中使用这种部署?

附:我有一个部署到 tomcat 服务器的小应用程序。我不需要分发和其他东西。

【问题讨论】:

  • 我猜如果您控制部署到的服务器,您可以在接收端(在服务器上)使用 post-receive githooks 来实现部署功能,然后只需 git push 即可服务器,就像在 heroku 上一样。
  • @Frost 我想要一个现成的解决方案。我只是没有时间自己破解脚本。我敢打赌,有人在我之前解决了这个问题。
  • @KonstantinSolomatov - 正如其他人所建议的那样,接收后挂钩可以简单地做到这一点。使用它来调用您的现有 构建脚本来构建新代码作为战争(或任何适用)。 PS:因为你不喜欢他们的回答而对其他人投反对票是不好的形式。如果您不喜欢它们,我建议不要投票。
  • @elithrar Post recieve hook 不是我需要的。它们在我的电脑上运行,我需要它们在服务器上运行。现在,当我部署到 tomcat 时,tomcat 会使用 wars 监视目录,如果它发生变化,它会重新部署应用程序。我想要一些与 git repo 相同的实用程序。
  • @elithrar 恕我直言,在不理解的情况下回答问题(可能只是为了提高他们的评分),就像我投反对票的一些人一样,是投反对票的好理由。其中一位建议我使用构建工具,另一位建议使用构建服务器,而我希望在商业工具中提供特定行为。

标签: git tomcat deployment heroku


【解决方案1】:

由于 Java 是一种编译语言,因此您不像 ruby​​ 和其他只需部署代码的语言那样奢侈。

看看 AppHarbour,因为他们为 C# 做这件事,然后看看是否有人为 Java 提供同样的东西。

【讨论】:

    【解决方案2】:

    您可以使用Jenkins 之类的软件来制作 git pull 然后 build 您的 war 文件,这样就可以扩展系统并执行一个脚本,例如通过 ssh 将文件复制到您的服务器并重新启动您的 tomcat。

    在 Jenkins 中,您有很多插件。

    还有一些其他的部署软件,但都需要很多钱。

    【讨论】:

    • 我了解如何做到这一点。我只想要一个现成的解决方案。我想运行某种守护进程来查找 git 中的更改,并将项目构建和部署到服务器上的 war 目录。
    • 这是不可能的。你应该自己做。但我想你知道什么时候你已经做出改变并且可以启动 Jenkins。其他解决方案是构建一个钩子。但是你必须编写脚本。
    【解决方案3】:

    您应该看看构建自动化 DSL,例如 BuildrGradle。 您可能必须在您的环境下自动化部署过程。

    您应该遵循的第一个目标是建立一个允许您一键部署(或一键部署)的构建自动化系统

    您实现的后续步骤是Continuous Integration 系统。

    【讨论】:

    • 我有持续集成。我只是想要一种类似于 heroku 的方式来控制部署的方式
    猜你喜欢
    • 2011-06-18
    • 1970-01-01
    • 2018-12-20
    • 2015-07-27
    • 2012-01-08
    • 2014-12-06
    • 2013-09-23
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多