遠程自動部署
下面這段是用在Jenkins 自動編譯完成後的腳本:
添加到Build->Execute Shell中,
[plain]
sshpass -p pwd ssh -t
[email protected] 'service my_web stop'
sshpass -p pwd scp bin/my_web
[email protected]:/home/dist/web/
sshpass -p pwd ssh -t
[email protected] 'service my_web start' &
這樣就可以了。
遠程機器也是Ubuntu, IP: 192.168.1.55, 並且已經設定好了/etc/init.d/my_web腳本,以及約定了要將程序拷貝到/home/dist/web目錄下。
密碼也已經設定。
Jenkins 機器上要安裝sshpass, 並且首先嘗試一次,按下yes建才行。sshpass可以傳遞密碼,-t 參數是模擬鍵盤輸入。
這段腳本最後用& 結束,否則Jenkins build會掛住。
這是個簡易的方法,如果部署需要控制更多的信息,還是應該像Google一樣,有一個專門的web server負責部署。程序只需要將要部署的二進制程序和配置上傳即可。