资源简介

本脚本用python实现java项目的一键发布,装好python环境、paramiko模块修改自己的服务器账号密码,项目地址等即可完成一键发布上传实现。有日志输出。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
from time import sleep

import paramiko
import os

#主机地址
hostname = ‘0.0.0.0‘
#端口
port = 22
#用户名
username = ‘root‘
#密码
password = ‘12345678789‘
#本地地址
local_path = ‘./y-demo/target/yhdemo.war‘
#服务器地址
remote_path=‘/opt/src/ROOT.war‘
#项目路径
projectPath=‘D:\\gitwork\\work\\y‘
#shell脚本路径
shell_path=‘/opt/tomcat-api.sh‘
def upload():
    t = paramiko.Transport((hostname 22))
    t.connect(username=username password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.put(local_path remote_path put_call_back)
    t.close()
    print(“上传成功“)

# 上传文件进度反馈
def put_call_back(start end):
    process = (float(start) / end) * 100
    print(“当前上传进度为: %.2f %%“ % process)
# mvn 命令打包  先进入目录下 
def mvn_package():
    # os.chdir(projectPath)
    os.system(‘mvn clean install -Dmaven.test.skip=true‘)
    print(“=============打包成功=============“)
def sshclient_execmd():
    # paramiko.util.log_to_file(“paramiko.log“)
    s = paramiko.SSHClient()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(hostname=hostname port=port username=username password=password)
    # chain = s._transport.open_session()
    # chain.exec_command()
    # stdin stdout stderr = s.exec_command(‘/bin/bash /opt/tomcat-api.sh‘)
    chan = s.invoke_shell()
    chan.send(“/bin/bash  “+shell_path+“  \r\n“)
    while True:
        ret = chan.recv(1024)
        ret = ret.decode(‘utf-8‘)
        print(ret)
    s.close()
def console(text):
    print(text)


def testPath():
    local = ‘./yhabit-admin/target‘
    list = os.listdir(local)
    for path in list:
        print(path)

def test2(result=None):
    # trans = paramiko.Transport((hostname 22))
    # trans.connect(username=username password=password)
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname=hostname port=port username=username password=password)
    chan = ssh.invoke_shell()

评论

共有 条评论