利用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构建,代码便会自动部署到想对应的服务器上,并实现自动启动,减少测试的工作量。
相关文章推荐
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)
- spring boot 项目利用Jenkins实现自动化部署的教程详解
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)
- 利用Fabric+Capistrano实现Python自动化部署
- 持续集成之Jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- Jenkins持续集成-自动化部署脚本的实现《python》
- jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(四)(网内首发超详细版)
- 利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)
- 利用Fabric+Capistrano实现Python自动化部署
- 利用PowerShell+Jenkins,实现项目的自动化部署
- Jenkins环境搭建部署实现代码自动化发布
- 利用Jenkins实现JavaWeb项目的自动化部署
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计(1)——Jenkins安装
- 基于jenkins的自动化部署实现
- 利用Spark-mllab进行聚类,分类,回归分析的代码实现(python)