微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐