python自动发布-优化版本
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("===========重启成功===========")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2018-06-13 mysql索引命中规则