python+paramiko实现自动部署替换文件

简述:

主要思路是用paramiko,将每次部署都要rz 添加需要部署的文件,备份,重启等操作集合在一个脚本中,每次部署只需要改下文件名及部署路径(单个文件需要修改,web.zip整包不需要做修改,可以直接执行),本篇文章仅以html替换文件为例,web.zip包大同小异。

代码展示:

首先定义一些基础的方法:

python+paramiko实现自动部署替换文件_第1张图片

其中trans_connect、trans_web这两个函数用于上传部署的文件,ssh_connect、ssh_exec_cmd、ssh_close用于执行一些必须的linux命令(备份mv、解压unzip、重启restart等)

主要执行函数:

python+paramiko实现自动部署替换文件_第2张图片

说明:

1.host、username、password即平时自己连xshell的 地址、用户名、密码,默认端口 22

2.filename为需要替换的文件名,path为文件所在linux路径,localpath为本地windows路径

3.部署之前需要先备份文件,cd 到path,然后mv 命令备份,备份完上传文件,最后重启服务器

说明:之前重启服务的时候服务stop之后一直起不来,翻了不少资料,也请教运维的小伙伴,最后无意中看了关于frabic的文章,解决重启服务出错时,在最后加了参数 pty=False,所以误打误撞在最后service  tomcat_iorder_appsvr restart后面加了参数 get_pty=False,重启服务成功

That's  all

欢迎批评指正,交流学习!

你可能感兴趣的:(python+paramiko实现自动部署替换文件)