python自动发布-优化版本
2024-09-08 15:15:36
import sys
import time
import os
import paramiko
from pygments.lexers import shell baseconfig = {
"ip": ",
"port": ,
"username": "",
"password": "“,
"localjar": "",
"remotedir": "/w/","package":1
} if(baseconfig["package"] == 1):
print("===========开始打包===========")
os.system('mvn package -Dmaven.compile.fork=true -T 1C -Dmaven.test.skip=true')
print("===========打包完成===========")
localjar = baseconfig["localjar"]
jarpath = sys.path[0] + "/target/" + localjar
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=baseconfig["ip"], port=baseconfig["port"], username=baseconfig["username"],
password=baseconfig["password"])
ssh.get_transport()
sftp = paramiko.SFTPClient.from_transport(ssh.get_transport())
remotedir = baseconfig["remotedir"]
sftp.put(jarpath, remotedir + localjar)
print("===========上传成功===========")
# 如果命令间有依赖关系,即 前一个命令执行成功才接着执行第二个命令,那么用cmd1 && cmd2
# 如果命令间无任何依赖关系,简单地顺序执行即可,那么用cmd1; cmd2
shell = "cd %s;source /root/.bash_profile && ./run.sh" % (remotedir)
stdin, stdout, stderr = ssh.exec_command(shell)
print("===========重启成功===========")
最新文章
- Windows和Linux都有的Copy-on-write技术
- 再探banana
- 【BZOJ-3809】Gty的二逼妹子序列 分块 + 莫队算法
- MicroService/web Service/webAPI/RPC
- Windows程序设计-窗口和消息
- DNS服务器全面解析--转
- 李炎恢bootstarp_项目实战__瓢城企业(注释+源码)
- 《asp.net mvc3 高级编程》第二章 控制器
- java集合系列—ArrayList
- vue2.0 配置build项目打包目录、资源文件(assets\static)打包目录
- Python系列之入门篇——HDFS
- Java编程配置思路详解
- 动态规划——Edit Distance
- position:fixed 兼容浏览器低版本
- 雷林鹏分享:jQuery EasyUI 数据网格 - 创建自定义视图
- 一名前端Web架构师的成长之路(转载)
- IDEA永久激活
- 【linux】- nohup 和 &;
- Xshell 找到上次执行的命令
- 【java开发系列】—— 深克隆和浅克隆
热门文章
- jdk线程池ThreadPoolExecutor优雅停止原理解析(自己动手实现线程池)(二)
- TreeUtils工具类一行代码实现列表转树【第三版优化】 三级菜单 三级分类 附视频
- 从 Numpy+Pytorch 到 TensorFlow JS:总结和常用平替整理
- WINDOWS下对NIGNX日志文件进行限制
- easyUI ajax拼接样式失效
- PHP日期加减计算
- xml中出现<; >;&;等特殊字符如何存储
- Jmeter——结合Allure展示测试报告
- 批量删除多个相同格式内容的Excel表格的列
- 1、创建Django项目并配置settings文件