123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import paramiko
- import os
- import sys
- import time
- import zipfile
- hostname=""
- username=""
- password=""
- port=222
- if sys.argv[3] == 'pro':
- hostname="000.luojigou.vip"
- username="admin"
- password='FUpnUQ8aLpngnEW'
- else:
- hostname="local.luojigou.vip"
- username="root"
- password='RDefC4Rh&I0VN1j1'
- port=22
- ##############################
- ##############################
- ##############################
- transport = paramiko.Transport((hostname, port))
- transport.connect(username=username, password=password)
- ##############################
- ##############################
- ##############################
- sftp = paramiko.SFTPClient.from_transport(transport)
- # transport.close(),
- ##############################
- ##############################
- ##############################
- # 创建SSH对象
- ssh = paramiko.SSHClient()
- # 允许连接不在know_hosts文件中的主机
- ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- # 连接服务器
- ssh.connect(hostname=hostname, port=port, username=username, password=password,allow_agent=False,look_for_keys=False)
- ##############################
- ##############################
- ##############################
- local_path = os.getcwd() + "\dist.zip"
- target_file_name = sys.argv[2]
- remote_path = sys.argv[1]
- remote_file_name = remote_path + target_file_name
- print("本地文件地址: " + local_path )
- print("远程目录地址: " + remote_file_name)
- srmdir_all_folder = os.getcwd() + '/dist' # 文件夹路径
- zip_file_path = srmdir_all_folder + ".zip" # 压缩文件路径
- print("打包中.....🍗")
- def make_zip(source_dir, output_filename):
- zipf = zipfile.ZipFile(output_filename, 'w')
- pre_len = len(os.path.dirname(source_dir))
- for parent, _, filenames in os.walk(source_dir):
- for filename in filenames:
- pathfile = os.path.join(parent, filename)
- arcname = pathfile[pre_len:].strip(os.path.sep) #相对路径
- zipf.write(pathfile, arcname.replace('/dist', ''), zipfile.ZIP_DEFLATED)
- zipf.close()
- make_zip(srmdir_all_folder, zip_file_path)
- time.sleep(1)
- print("打包完成.....😎")
- print("上传中.....💪")
- sftp.put(local_path, remote_file_name + "/dist.zip")
- time.sleep(1)
- cmd1 = "unzip -o -d " + remote_file_name + " " + remote_file_name + "/dist.zip"
- stdin, stdout, stderr= ssh.exec_command(cmd1)
- result = stdout.read()
- print("上传成功🎉🎉🎉🎉")
- transport.close()
- ssh.close()
|