upload.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import paramiko
  2. import os
  3. import sys
  4. import time
  5. import zipfile
  6. hostname=""
  7. username=""
  8. password=""
  9. port=222
  10. if sys.argv[3] == 'pro':
  11. hostname="000.luojigou.vip"
  12. username="admin"
  13. password='FUpnUQ8aLpngnEW'
  14. else:
  15. hostname="local.luojigou.vip"
  16. username="root"
  17. password='RDefC4Rh&I0VN1j1'
  18. port=22
  19. ##############################
  20. ##############################
  21. ##############################
  22. transport = paramiko.Transport((hostname, port))
  23. transport.connect(username=username, password=password)
  24. ##############################
  25. ##############################
  26. ##############################
  27. sftp = paramiko.SFTPClient.from_transport(transport)
  28. # transport.close(),
  29. ##############################
  30. ##############################
  31. ##############################
  32. # 创建SSH对象
  33. ssh = paramiko.SSHClient()
  34. # 允许连接不在know_hosts文件中的主机
  35. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  36. # 连接服务器
  37. ssh.connect(hostname=hostname, port=port, username=username, password=password,allow_agent=False,look_for_keys=False)
  38. ##############################
  39. ##############################
  40. ##############################
  41. print("os.getcwd():", os.getcwd())
  42. local_path = os.getcwd() + "/dist/build" + "/h5.zip"
  43. target_file_name = sys.argv[2]
  44. remote_path = sys.argv[1]
  45. remote_file_name = remote_path + target_file_name
  46. print("本地文件地址: " + local_path )
  47. print("远程目录地址: " + remote_file_name)
  48. srmdir_all_folder = os.getcwd() + '/dist/build/h5' # 文件夹路径
  49. zip_file_path = srmdir_all_folder + ".zip" # 压缩文件路径
  50. print("打包中.....🍗")
  51. def make_zip(source_dir, output_filename):
  52. zipf = zipfile.ZipFile(output_filename, 'w')
  53. pre_len = len(os.path.dirname(source_dir))
  54. for parent, _, filenames in os.walk(source_dir):
  55. for filename in filenames:
  56. pathfile = os.path.join(parent, filename)
  57. arcname = pathfile[pre_len:].strip(os.path.sep) #相对路径
  58. zipf.write(pathfile, arcname.replace('/h5', ''), zipfile.ZIP_DEFLATED)
  59. zipf.close()
  60. make_zip(srmdir_all_folder, zip_file_path)
  61. time.sleep(1)
  62. print("打包完成.....😎")
  63. print("上传中.....💪")
  64. sftp.put(local_path, remote_file_name + "/h5.zip")
  65. time.sleep(1)
  66. cmd1 = "unzip -o -d " + remote_file_name + " " + remote_file_name + "/h5.zip"
  67. stdin, stdout, stderr= ssh.exec_command(cmd1)
  68. result = stdout.read()
  69. print("上传成功🎉🎉🎉🎉")
  70. transport.close()
  71. ssh.close()