您的位置:首页 > 编程语言 > Python开发

利用python实现Jenkins自动化部署代码

2019-05-09 16:15 816 查看

目前测试要想回归或者开发提测新需求,需要先在jenkins构建之后把代码下载到本地,然后上传到测试服务器,若是版本较多,会加大测试工作量,浪费很多时间,所以现提供自动化部署,减少测试工作量
1.python代码

import ssh
import re
import time

#----------------------变量定义start-----------------------
#所要部署的服务器
linux_ip="192.168.3.138"
linux_port=22
linux_username="root"
linux_pwd="root"
#----------------------变量定义end-------------------------

class SSHCon:
myclient=None
chan=None
def __init__(self,linux_ip,linux_port,linux_username,linux_pwd):
# 新建一个ssh客户端对象
self.myclient = ssh.SSHClient()
# 设置成默认自动接受密钥
self.myclient.set_missing_host_key_policy(ssh.AutoAddPolicy())
# 连接远程主机
self.myclient.connect(linux_ip, port=linux_port, username=linux_username, password=linux_pwd)
self.chan=self.myclient.invoke_shell()#新函数
return None
def cmd(self,cmd):
print cmd
self.chan.send(cmd)
time.sleep(1)
def close(self):
self.myclient.close()

mycon=SSHCon(linux_ip,linux_port,linux_username,linux_pwd)
#杀掉进程
mycon.cmd("nohup ps -ef | grep 8081 | grep -v grep | awk '{print $2}' | xargs kill -9\n")
#删除member包
mycon.cmd("nohup rm -rf /usr/local/etc-member/member-8081/webapps/member.war /usr/local/etc-member/member-8081/webapps/member\n")
#下载代码(这个是针对代码集中在一个包中,如war包,jar包)
mycon.cmd("wget --ftp-user=jk --ftp-password=jk \"ftp://192.168.3.68/KWL-V1.0(%BB%F5%B3%B5ETC1.0%BA%F3%CC%A8member%A1%AA%D1%A6%B4%B4%D2%B5)/kwl-multiproject/kwl-webapps-member/target/member.war\" -O /usr/local/etc-member/member-8081/webapps/member.war\n")
#   下载代码(这个是针对代码存放在一个文件夹里如lib文件夹)
mycon.cmd("wget -c -r -np -nd -k -L -p  --ftp-user=jk --ftp-password=jk \"ftp://192.168.3.68/KWL-V1.0_jrfinancing(%BD%BB%BB%BB%BD%F0%C8%DA%BB%FA%B9%B9%D7%D3%CF%B5%CD%B3%A1%AA%D1%A6%B4%B4%D2%B5)/kwl-multiproject/kwl-banking/kwl-banking-jrfinancing/target/kwl-banking-jrfinancing\"\n")
time.sleep(5)
#重新启动应用
mycon.cmd("nohup /usr/local/etc-member/member-8081/bin/startup.sh\n")
#退出登录
mycon.close()

2.jenkins配置,增加构建步骤C:\Python27\python.exe %WORKSPACE%\TestConfig\SSHUpdate.py

其中C:\Python27\python.exe为当前服务器python的安装路径
TestConfig\SSHUpdate.py为python代码存放路径
3.代码提交
在svn相对应的路径选择版本库浏览器

创建Testconfig文件夹,并将代码提交到次路径

4.点击jenkins构建,代码便会自动部署到想对应的服务器上,并实现自动启动,减少测试的工作量。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐