我是基于Netty開發(fā),Gradle作用構(gòu)建工具,開發(fā)好功能以后,將應(yīng)用打包成Jar包,然后傳到服務(wù)器上,運行java -jar ***.jar來啟動應(yīng)用。但是這里會有幾個問題:每次發(fā)布后都要手動將Jar包傳到到服務(wù)器上,這個過程重復(fù)繁瑣部署時需要先kill以前的java進(jìn)程,再啟動最新的jar文件,這個時間段導(dǎo)致該應(yīng)用時不可用的。不支持版本的回滾等等。。Ruby有capistrano, PHP有deployer,請問Java有沒有這方面的工具。?你們在開發(fā)部署時是怎么解決這些問題的?
2 回答

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
我是自己開發(fā)的自動部署工具。
現(xiàn)在的效果是這樣的:只要一向master分支提交代碼,git倉庫就會向我開發(fā)服務(wù)器POST一個請求,我收到這個請求后自動執(zhí)行構(gòu)建、部署和重啟服務(wù)器的.sh腳本。這樣一來就實現(xiàn)了一提交代碼應(yīng)用就自動更新。

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊
用gradle也可以做到自動化部署,就是通過gradle調(diào)用shell命令進(jìn)行文件scp,遠(yuǎn)程ssh的操作。
我們一般是使用jenkins做持續(xù)集成和自動部署,在job的配置中可以使用更加靈活的方式,比如調(diào)用shell命令,python腳本或者granle或ant任務(wù)。
添加回答
舉報
0/150
提交
取消