通过ssh主机互信打通内、外网,使用shell脚本自动部署测试环境
一、背景介绍 svnServer在内网环境,测试环境搭建在阿里云公网上,分为DBServer和WebServer。每次手动部署时都需要诸多步骤,开启多个终端操作,可谓耗时又繁琐,再加上新人经验不足,部署过程时常出现问题。
二、解决方案 长此以往下去,终究是不可行的! 如果用shell固化所需执行的步骤、执行的命令,对新手而言是不是简易多了呢? 如果只在一台server上就将所有的步骤执行完了,是不是更完美了呢? 既然svnServer作为部署工作的入口,那就把它作为console。 定下console之后,问题又来了,它如何与公网的server“沟通”呢?ssh主机互信来帮忙!通过主机互信,打通内外网,跨起一座沟通的桥梁。 按照部署步骤,可归纳为4个阶段:
通过shell脚本来部署,感觉要操作的内容减少了,这个过程简单了、顺畅了! 三、脚本编写及调试 有了以上的解决方案,就开始实践,毕竟实践出真知! 3.1 ssh主机互信 1.在3台server生成各自的创建RSA密钥和公钥;
2.整合公钥文件,将所有的key文件汇总到内网server的认证文件中;
3.分发整合的key认证文件,到各server上;
4.验证互信
OK,主机互信搞定,各台server已经可以“免签”了。 3.2 编写脚本 脚本分为两层,svnServer上的脚本远程调用DBServer、WebServer 上的脚本,进行环境准备、安装部署。 1pre_env.sh,远程调用shell脚本,实现停止web应用服务;删除旧文件; 2copy_build.sh,通过scp命令,将应用直接从svnServer上传到web和DBserver上; 3deploy_db.sh、4deploy_web.sh 四、总结 通过编写该脚本,规避了误操作的风险,提高了部署的效率。同时也实现了学有所用! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |