我正在开发一个使用Maven构建其工件的Java Web项目。在Maven构建结束时,我们需要将一些jar和war文件部署到我们的开发/测试环境中。
现在我们正在使用一个非常庞大的Ant脚本来执行多项任务(在Windows / Linux机器上)
Ant做得很好 - 但是脚本很快变得非常大,说实话,它对于手头的任务感觉不够。
还有其他选择吗?我听说过,但我不确定这是正确的方法。
感谢您的帮助!
编辑:经过更多的研究,我发现了Gradle - 它似乎是重用ant任务和允许真实脚本运行的非常好的组合。值得一读。答案 0 :(得分:4)
是的,请查看maven的Cargo插件:
* Deploying to a running container * Generating a container configuration deployment structure * Merging WAR files * Starting and stopping a container
Hudson - 一个持续集成引擎 - 也可用于实现这些任务。
答案 1 :(得分:3)
一般来说部署并不容易(通常非常具体),而Cargo maven plugin可能有助于战争/耳朵的远程部署(如果实施了应用服务器的远程部署),我不认为它将满足您的所有需求。实际上,由于问题含糊不清,很难非常精确,所以我只想给出一些指示。看看像这样的解决方案:
答案 2 :(得分:0)
如果这是一项大任务,你总是可以用Java或Jython编写ant任务并从ant调用它们。
答案 3 :(得分:0)
这在2017年似乎也是一个悬而未决的问题。 正在搜索" java部署脚本"首先指出这个问题,以及Ant和其他一些不相关的文章。
在撰写本文时我正在处理的项目有6-7个JAR文件,我们放在tomcat的lib /文件夹中,还有20-30个小的WAR文件放在webapps中/。我们有一个部署脚本,可以从Bamboo服务器下载并扩展包含所有内容的存档,但在开发过程中不可用。手动部署所有这些都是一场噩梦。
所以我创建了自己的Python脚本,最初会将几个JAR和WARS部署到tomcat实例。
现在它是一个跨平台的部署工具(在Windows和Mac上测试),语言和服务器无关,可通过JSON文件进行配置。 它可以:
复制和删除库和应用
运行本地和远程(通过SSH)命令
暂停
由于您可以在远程服务器上运行命令,因此可以通过Shell命令执行很多操作(我们使用它们来启动/停止tomcat,等待它启动/停止,删除日志等)。
部署脚本位于GitHub。