Python 自动化升级更新项目
负载均衡了A,B两台服务器win2008r2,同样的路径 D:\\IIS\\proName 放着Asp MVC4开放编译好的项目,每次团队修改bug或者添加新功能,我需要把A,B服务器的项目备份好,本机从TFS(感觉还是SVN好用点)获取最新代码,之后编译,再覆盖上服务器,操作的过程中要注意些问题,比如说服务器项目里的log4net生成的日志文件不要压缩备份,要不然压缩文件会很大,覆盖的时候,有些文件是不能替换的,比如说web.config,因为数据库连接等一些信息是不一样的,除此之外,还要做升级更新记录,以备领导查询等等 所以萌发搞一个程序自动化升级更新,之所以用Python,只是因为正在学习,当然另一方面是因为需要使用SSH协议来跟远程服务器交互,Python的paramiko插件比我拿手C#的ssh.net好用多 说说我的思路 1. 只压缩A服务器项目 2. 下载到本机解压 3. 本机TFS更新项目,编译发布 4. 对比获取服务器项目和本机发布项目的差异文件,并压缩差异文件,以及记录信息到数据库 5. 上传差异压缩包到A和B服务器,并覆盖替换 部分核心代码 # 压缩服务器项目 client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client