资源简介
本脚本用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()
相关资源
- CTF各种加密算法解密集成java,支持
- java中jython操作把python数据类型转成
- python爬虫十万条UA User_Agent信息浏览器
- 基于Python的TCPUDP调试助手
- python自动化打包java maven工程,并上传
- leetcode(附python、java、c)代码合集
- python写文件的小
- python 拖拽选择文件
- 用Python进行自然语言处理中文
- Python搭建的web接口聊天机器人
- Android代码-Python 3 for Android
- 基于python的opc读写和导入MSSQL/MYSQL
- lampLinux+Apache+Mysql+Perl/PHP/Python论文
- 2019最新尚硅谷1024专用全套视频打包地
- python汉化补丁pycharm2019.2版本
- C/S模式的TCP聊天室程序python和java版本
- python 调用 mysql
评论
共有 条评论