作者:个性2402852463 | 2021-08-03 14:49
远程自动部署下面这段是用在Jenkins自动编译完成后的脚本:添加到Build->ExecuteShell中,[plain]sshpass-ppwdssh-troot@192.168.1.55'servicemy_webstop'sshpass-ppwd
远程自动部署
下面这段是用在Jenkins 自动编译完成后的脚本:
添加到Build->Execute Shell中,
[plain]
sshpass -p pwd ssh -t root@192.168.1.55 'service my_web stop'
sshpass -p pwd scp bin/my_web root@192.168.1.55:/home/dist/web/
sshpass -p pwd ssh -t root@192.168.1.55 '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负责部署。程序只需要将要部署的二进制程序和配置上传即可。