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()