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("===========重启成功===========")

最新文章

  1. Windows和Linux都有的Copy-on-write技术
  2. 再探banana
  3. 【BZOJ-3809】Gty的二逼妹子序列 分块 + 莫队算法
  4. MicroService/web Service/webAPI/RPC
  5. Windows程序设计-窗口和消息
  6. DNS服务器全面解析--转
  7. 李炎恢bootstarp_项目实战__瓢城企业(注释+源码)
  8. 《asp.net mvc3 高级编程》第二章 控制器
  9. java集合系列—ArrayList
  10. vue2.0 配置build项目打包目录、资源文件(assets\static)打包目录
  11. Python系列之入门篇——HDFS
  12. Java编程配置思路详解
  13. 动态规划——Edit Distance
  14. position:fixed 兼容浏览器低版本
  15. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建自定义视图
  16. 一名前端Web架构师的成长之路(转载)
  17. IDEA永久激活
  18. 【linux】- nohup 和 &
  19. Xshell 找到上次执行的命令
  20. 【java开发系列】—— 深克隆和浅克隆

热门文章

  1. jdk线程池ThreadPoolExecutor优雅停止原理解析(自己动手实现线程池)(二)
  2. TreeUtils工具类一行代码实现列表转树【第三版优化】 三级菜单 三级分类 附视频
  3. 从 Numpy+Pytorch 到 TensorFlow JS:总结和常用平替整理
  4. WINDOWS下对NIGNX日志文件进行限制
  5. easyUI ajax拼接样式失效
  6. PHP日期加减计算
  7. xml中出现< >&等特殊字符如何存储
  8. Jmeter——结合Allure展示测试报告
  9. 批量删除多个相同格式内容的Excel表格的列
  10. 1、创建Django项目并配置settings文件