我是基于Netty开发,Gradle作用构建工具,开发好功能以后,将应用打包成Jar包,然后传到服务器上,运行java -jar ***.jar
来启动应用。
但是这里会有几个问题:
每次发布后都要手动将Jar包传到到服务器上,这个过程重复繁琐
部署时需要先kill以前的java进程,再启动最新的jar文件,这个时间段导致该应用时不可用的。
不支持版本的回滚
等等。。
Ruby有capistrano, PHP有deployer,
请问Java有没有这方面的工具。?
你们在开发部署时是怎么解决这些问题的?
用gradle也可以做到自动化部署,就是通过gradle调用shell命令进行文件scp,远程ssh的操作。
我们一般是使用jenkins做持续集成和自动部署,在job的配置中可以使用更加灵活的方式,比如调用shell命令,python脚本或者granle或ant任务。