Java的自动化部署工具

我是基于Netty开发,Gradle作用构建工具,开发好功能以后,将应用打包成Jar包,然后传到服务器上,运行java -jar ***.jar来启动应用。

但是这里会有几个问题:

  1. 每次发布后都要手动将Jar包传到到服务器上,这个过程重复繁琐

  2. 部署时需要先kill以前的java进程,再启动最新的jar文件,这个时间段导致该应用时不可用的。

  3. 不支持版本的回滚

  4. 等等。。

Ruby有capistrano, PHP有deployer,

请问Java有没有这方面的工具。?

你们在开发部署时是怎么解决这些问题的?

阅读 11.6k
4 个回答

用gradle也可以做到自动化部署,就是通过gradle调用shell命令进行文件scp,远程ssh的操作。

我们一般是使用jenkins做持续集成和自动部署,在job的配置中可以使用更加灵活的方式,比如调用shell命令,python脚本或者granle或ant任务。

push 到 git上,然后通过ci工具(比如jenkins)进行自动化

我是自己开发的自动部署工具。
现在的效果是这样的:只要一向master分支提交代码,git仓库就会向我开发服务器POST一个请求,我收到这个请求后自动执行构建、部署和重启服务器的.sh脚本。这样一来就实现了一提交代码应用就自动更新。

自己开发的工具灵活性比较好写,你可以看看我的博客,里面有源码
博客地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题