代码之家  ›  专栏  ›  技术社区  ›  Nadav

Java中的部署脚本使用什么?

  •  7
  • Nadav  · 技术社区  · 16 年前

    我正在研究一个使用Maven构建其工件的Java Web项目。在Maven构建的最后,我们有一些JAR和WAR文件需要部署到我们的开发/测试环境中。

    现在,我们使用一个相当强大的Ant脚本来执行几个任务(在两台Windows/Linux机器上)

    • 启动/停止服务
    • 复制/删除文件
    • 构建一些东西然后执行它

    Ant的工作做得很好——但是脚本很快就变得很大了,老实说,它感觉不适合手头的任务。

    还有其他选择吗?我听说过甘特,但我不确定这是正确的方式。

    谢谢你的帮助!

    编辑:经过更多的研究,我发现了Gradle——它似乎是重用Ant任务和允许运行真实脚本的很好组合。值得一读。

    4 回复  |  直到 9 年前
        1
  •  4
  •   Bozho    16 年前

    是的,看看 Cargo Maven插件:

    * Deploying to a running container
    * Generating a container configuration deployment structure
    * Merging WAR files
    * Starting and stopping a container
    

    Hudson -一个持续的集成引擎-也可以用来完成这些任务。

        2
  •  3
  •   Pascal Thivent    16 年前

    一般来说,部署并不容易(而且通常非常具体),而 Cargo maven plugin 可能有助于远程部署war/ear(如果为您的应用服务器实现了远程部署),我认为它不会满足您的所有需求。事实上,很难非常精确,因为这个问题很模糊,所以我会给出一些提示。看看以下解决方案:

        3
  •  0
  •   Jay Askren    16 年前

    如果这是一个大任务,你可以在Java或Jython中编写蚂蚁任务,并从蚂蚁调用它们。

        4
  •  0
  •   riverhorse    9 年前

    这似乎也是2017年的一个公开议题。 搜索“Java部署脚本”首先指向这个问题,以及蚂蚁和一些其他无关的文章。

    我写这篇文章的时候正在做的项目,有6-7个jar文件,我们放在Tomcat的lib/文件夹中,还有20-30个小的war文件,我们放在webapps/中。我们确实有一个部署脚本,可以从竹服务器下载并扩展包含所有内容的存档,但在开发过程中不可用。手动部署所有这些都是一场噩梦。

    所以我启动了自己的python脚本,它最初会将几个jar和war部署到一个Tomcat实例中。

    现在它是一个跨平台的部署工具(在Windows和Mac上测试),语言和服务器不可知,可以通过JSON文件进行配置。 它可以:

    • 复制和删除libs和应用程序

    • 运行本地和远程(通过ssh)命令

    • 停顿

    因为您可以在远程服务器上运行命令,所以您可以通过shell命令做很多事情(我们使用它们来启动/停止Tomcat,等待它启动/停止,删除日志等)。

    部署脚本已打开 GitHub .

    推荐文章