iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >用python脚本实现自动部署环境(二)
  • 790
分享到

用python脚本实现自动部署环境(二)

脚本环境python 2023-01-31 01:01:48 790人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

之前写了一个博客是关于paramiko的安装的 就是为了今天的博客打基础 今天就记录下怎么用paramiko模块对环境进行部署(贴出来关键的脚本片段,总不能一直做伸手党吧,自己写点儿东西如果想用我这个方法的话) 对于我们现有的系统的测试环

之前写了一个博客是关于paramiko的安装的

就是为了今天的博客打基础

今天就记录下怎么用paramiko模块对环境进行部署(贴出来关键的脚本片段,总不能一直做伸手党吧,自己写点儿东西如果想用我这个方法的话)

对于我们现有的系统的测试环境部署,大致步骤分为:停掉服务,删除编译过的文件,删除.war文件,删除缓存文件,把war包放到服务器,启动服务,查看日志是否报错

接下来就要从以下几方面考虑:

1:从提测单中读取到服务器地址,服务所在路径,war包所在的svn路径,war文件(一下两段脚本就是干这个的)

def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0):
    data = open_excel(file)
    table = data.sheets()[by_index]
    nrows = table.nrows #行数
    ncols = table.ncols #列数
    colnames =  table.row_values(colnameindex) #某一行数据
    list =[]
    for rownum in range(1,nrows):

         row = table.row_values(rownum)
         if row:
             app = {}
             for i in range(len(colnames)):
                app[colnames[i]] = row[i]
             list.append(app)
    return list
for i in range(len(excel_table_byindex(file="c:\sittest.xlsx"))): #获取excel的行数作为循环取出想要的ip,dir,warpackag
    ip = excel_table_byindex(file="c:\sittest.xlsx")[i]['ip']

2:连接到服务器,kill掉Tomcat进程()

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, 22, '这里是服务器用户名', '这里是服务器登录密码')
stdin, stdout, stderr = ssh.exec_command("ps -ef|grep tomcat")  # 找到tomcat进程
lines = stdout.readlines()
# 因为可能获取的tomcat进程不止一个所以要查找到服务所在的进程
for line in lines:
    if dirs in line:
        pid = line.split(' ')[5]

3:删除文件(编译后的文件,原war包,缓存文件)()

# 删除dirs/WEBapps下filename和packagename文件夹下所有文件(以下将分别调用ssh的方法执行cmd命令)
cmds2='rm -rf '+dirs+'/webapps/'+filename
用2的方法执行cmds2命令删除文件

4:上传文件

def commitFileToServer(ip,remote_dir,local_dir):
    try:
        t = paramiko.Transport((ip,22))
        t.connect(username='这里是登录用户名',passWord='这里是登录密码')
        sftp=paramiko.SFTPClient.from_transport(t)
        
        files=sftp.listdir(remote_dir)
        for f in files:
            print''
            print'#########################################'
            print'Beginning to download file from %s %s ' % (ip,datetime.datetime.now())
            print'Downloading file:',os.path.join(remote_dir,f)
           
            sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))#上传
            print'Download file success %s ' % datetime.datetime.now()
            print''
            print'##########################################'
        t.close()
    except Exception:
        print 'content error'

5:启动服务

6:下载日志

def getFileFromServer(ip,remote_dir,local_dir):
    try:
        t = paramiko.Transport((ip,22))
        t.connect(username='这里是登录用户名',password='这里是登录密码')
        sftp=paramiko.SFTPClient.from_transport(t)
       
        files=sftp.listdir(remote_dir)
        for f in files:
            print''
            print'#########################################'
            print'Beginning to download file from %s %s ' % (ip,datetime.datetime.now())
            print'Downloading file:',os.path.join(remote_dir,f)
            sftp.get(os.path.join(remote_dir,f),os.path.join(local_dir,f))#下载
          
            print'Download file success %s ' % datetime.datetime.now()
            print''
            print'##########################################'
        t.close()
    except Exception:
        print 'content error'




--结束END--

本文标题: 用python脚本实现自动部署环境(二)

本文链接: https://www.lsjlt.com/news/184853.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 用python脚本实现自动部署环境(二)
    之前写了一个博客是关于paramiko的安装的 就是为了今天的博客打基础 今天就记录下怎么用paramiko模块对环境进行部署(贴出来关键的脚本片段,总不能一直做伸手党吧,自己写点儿东西如果想用我这个方法的话) 对于我们现有的系统的测试环...
    99+
    2023-01-31
    脚本 环境 python
  • 如何利用python脚本自动部署k8s
    目录一、准备 二、编辑脚本1、k8s.sh2、k8s_install.py三、配置ssh免密四、下载python3和git五、执行脚本六、成功七、总结一、准备 通...
    99+
    2024-04-02
  • 怎么利用python脚本自动部署k8s
    这篇文章主要为大家展示了“怎么利用python脚本自动部署k8s”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么利用python脚本自动部署k8s”这篇文章吧。一、准备通过之前在Ubuntu1...
    99+
    2023-06-20
  • Linux环境中用Python脚本实现自动化测试的方法
    Linux环境中用Python脚本实现自动化测试的方法随着软件开发的迅猛发展,自动化测试在保证软件质量和提高开发效率方面起着至关重要的作用。而Python作为一种简单易用的编程语言,具有很强的可移植性和开发效率,被广泛应用于自动化测试中。本...
    99+
    2023-10-22
    Python 自动化测试 Linux 关键词:
  • PHP Linux脚本操作实例:实现自动化部署
    近年来,随着软件行业的快速发展,部署工作在开发流程中变得愈发重要。为了提高效率,许多开发团队都开始采用自动化部署来简化繁琐的部署过程。在这其中,PHP语言在Linux环境下的脚本操作成为了一种常见的实现方式。本文将介绍如何使用PHP脚本在L...
    99+
    2023-10-21
    Linux PHP 自动化部署
  • git自动化部署php脚本该如何实现
    今天就跟大家聊聊有关git自动化部署php脚本该如何实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。git自动化部署php脚本的实现方法:1、安装git;2、克隆仓库代码;3、更改...
    99+
    2023-06-26
  • Windows环境MySQL自动备份脚本
    Windows环境MySQL自动备份脚本 备份需求 每个库单独一个文件压缩备份文件晚上23点定时备份 解决方案 创建一个MySQL备份脚本mysql_backup.bat,并在Windows任务计划程序中设置自动执行。 创建一个新的文本文件...
    99+
    2023-09-15
    mysql 数据库 java
  • Python自动化脚本部署服务器的方法
    本篇内容主要讲解“Python自动化脚本部署服务器的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python自动化脚本部署服务器的方法”吧! 1. 前言日常编写的 Python ...
    99+
    2023-06-15
  • 使用Gitee自动化部署python脚本的示例分析
    这篇文章将为大家详细讲解有关使用Gitee自动化部署python脚本的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前期准备1.1 安装环境安装python32、打开命令行安装selenium...
    99+
    2023-06-15
  • 怎么使用Shell脚本自动部署项目
    这篇文章主要介绍了怎么使用Shell脚本自动部署项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Shell脚本自动部署项目文章都会有所收获,下面我们一起来看看吧。①:在Linux中安装Gityum&n...
    99+
    2023-07-05
  • 使用Gitee自动化部署python脚本的详细过程
    目录一、前期准备1.1 安装环境二、python代码2.1 源码2.2 注意事项一、前期准备 1.1 安装环境 1、安装python3 2、打开命令行安装selenium pip...
    99+
    2024-04-02
  • Linux一键部署oracle安装环境脚本(推荐)
    具体代码如下所示: #!/bin/bash ############################################ ###功能:Preparation for Oracle Insta...
    99+
    2024-04-02
  • node.js自动化部署环境怎么搭建
    本篇内容介绍了“node.js自动化部署环境怎么搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、docker部分1.1、docker简...
    99+
    2023-07-04
  • Python实现一键安装部署LNMP环境
      最近一直在学Python,东西比较多,时间持续的也比较长,为了能够学以致用,想到了原来写过的shell一键安装部署LNMP脚本,既然shell能写,Python也一定能写,就用学到的知识写了下面这个版本,这可能并不是最优版本,等学到更多...
    99+
    2023-01-31
    一键 环境 Python
  • python实现自动抢课脚本
    自动抢课脚本使用手册 @danteking dating from 2021.12.7 and last updating at 2021.12.8 gitee仓库 github仓库 借助pyaut...
    99+
    2023-09-08
    python 脚本语言 图像识别
  • shell脚本如何实现公司项目部署交付环境预检查
    小编给大家分享一下shell脚本如何实现公司项目部署交付环境预检查,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例代码:#!/usr/bin/env ...
    99+
    2023-06-09
  • Selenium+Python自动化脚本环境搭建的全过程
    目录一、Python环境搭建1、下载安装包2、验证是否安装成功、以及是否有pip3、安装Selenium libraries二、安装谷歌浏览器和WebDriver1、安装谷歌浏览器2...
    99+
    2024-04-02
  • uni-app多环境配置实现自动部署的方式详解
    目录前言一、uni-app 不同打包方式下的环境配置1.HBuilderX 方式2.基于 vue-cli 命令行方式二、配置多环境实现自动部署总结前言 uni-app 项目在不同阶段...
    99+
    2024-04-02
  • Linux各项目环境部署记录(换服务器部署脚本整理)
    目录一. 前言二. 环境篇2.1 yum 安装2.2 Java 环境准备2.3 docker 安装2.4 docker compose 安装2.5 防火墙配置2.6 其他小组件三. 组件安装3.1 安装 RocketMQ...
    99+
    2023-05-12
    Linux项目部署 换服务器环境部署脚本
  • windows中python实现自动化部署
    目录一、python脚本二、windows部署定时任务这段时间遇到一个需求是如果库里面有没有图片的数据,则访问我们的网站生成图片数据并更新库,要求每隔一段时间就要检测。 该需求主要为...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作