41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
import os
|
|
import sys
|
|
|
|
import paramiko
|
|
|
|
pw = os.environ["DEPLOY_PASSWORD"]
|
|
REMOTE = "/home/wakka/guest-cs-stack"
|
|
COMPOSE = "docker-compose.chat.yaml -f docker-compose.chat.test7777.yaml"
|
|
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect("20.191.152.26", username="wakka", password=pw, timeout=30)
|
|
|
|
# 使用远端 bootstrap 后的 token
|
|
sftp = c.open_sftp()
|
|
with sftp.open(f"{REMOTE}/guest-cs.test.env", "w") as f:
|
|
f.write(
|
|
"# test.pubuli.com:7777\n"
|
|
"CHATWOOT_GUEST_WEBSITE_TOKEN=j1UAjqBgZMWQ8WfczgJSymQx\n"
|
|
"CHATWOOT_GUEST_BASE_URL=http://test.pubuli.com:7777/cw\n"
|
|
)
|
|
sftp.close()
|
|
|
|
cmd = f"""
|
|
set -e
|
|
cd {REMOTE}
|
|
sudo docker compose -f {COMPOSE} up -d --force-recreate guest-chat
|
|
sleep 20
|
|
sudo docker inspect guest-chat --format '{{{{.Created}}}}'
|
|
sudo docker exec guest-chat printenv CHATWOOT_GUEST_BASE_URL FRONTEND_URL CHATWOOT_GUEST_WEBSITE_TOKEN
|
|
curl -sI http://127.0.0.1:7777/guest-customer-service
|
|
"""
|
|
|
|
print(">>> recreate guest-chat only")
|
|
_, o, e = c.exec_command(cmd, timeout=180)
|
|
print(o.read().decode())
|
|
err = e.read().decode()
|
|
if err:
|
|
print(err, file=sys.stderr)
|
|
c.close()
|