35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
#!/usr/bin/env python3
|
|
"""Patch join page TS fix on production."""
|
|
import base64
|
|
import sys
|
|
|
|
import paramiko
|
|
|
|
from load_dev_env import ssh_config
|
|
|
|
HOST, USER, PASSWORD = ssh_config()
|
|
|
|
|
|
LOCAL = r"c:\Users\admin\Desktop\gitlab-instance-0a899031_cnomadcna\app\[locale]\join\page.tsx"
|
|
REMOTE = "/home/ubuntu/gitlab-instance-0a899031_cnomadcna/app/[locale]/join/page.tsx"
|
|
TMP = "/tmp/join-page.tsx"
|
|
|
|
content = open(LOCAL, encoding="utf-8").read()
|
|
b64 = base64.b64encode(content.encode("utf-8")).decode()
|
|
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect(HOST, username=USER, password=PASSWORD, timeout=30)
|
|
cmd = (
|
|
f"python3 -c \"import base64; open('{TMP}','wb').write(base64.b64decode('{b64}'))\" "
|
|
f"&& cp {TMP} {REMOTE} && chown ubuntu:ubuntu {REMOTE} && echo uploaded"
|
|
)
|
|
_, o, e = c.exec_command(f"echo '{PASSWORD}' | sudo -S bash -lc \"{cmd}\"", timeout=120)
|
|
out = o.read().decode()
|
|
err = e.read().decode()
|
|
code = o.channel.recv_exit_status()
|
|
sys.stdout.write(out)
|
|
sys.stdout.write(err)
|
|
c.close()
|
|
sys.exit(code)
|