现在的位置: 首页 > 综合 > 正文

远程自动部署

2013年10月01日 ⁄ 综合 ⁄ 共 492字 ⁄ 字号 评论关闭

下面这段是用在Jenkins 自动编译完成后的脚本:

添加到Build->Execute Shell中,

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负责部署。程序只需要将要部署的二进制程序和配置上传即可。

抱歉!评论已关闭.