chore: 删除无用的部署和维护脚本

This commit is contained in:
wangjing
2026-04-24 10:17:54 +08:00
parent 9fe4e19341
commit e70777f04e
10 changed files with 0 additions and 369 deletions
-45
View File
@@ -1,45 +0,0 @@
import paramiko
import os
import time
host = "64.90.11.73"
port = 22
username = "root"
password = "qemzCSBQ8251"
local_zip = "chat-deploy.zip"
remote_zip = "/root/chat-deploy.zip"
print(f"Connecting to {host}...")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(host, port, username, password, look_for_keys=False, allow_agent=False)
print("Uploading zip file...")
sftp = ssh.open_sftp()
sftp.put(local_zip, remote_zip)
sftp.close()
commands = """
mkdir -p /root/chat-deploy
unzip -o /root/chat-deploy.zip -d /root/chat-deploy
cd /root/chat-deploy
docker build -t chat-server:latest .
docker stop chat-server || true
docker rm chat-server || true
docker run -d --name chat-server -p 38080:8080 chat-server:latest
"""
print("Executing deployment commands on server...")
stdin, stdout, stderr = ssh.exec_command(commands)
# 实时打印输出
for line in iter(stdout.readline, ""):
print(line, end="")
for line in iter(stderr.readline, ""):
print("ERROR:", line, end="")
print("Deployment script execution completed.")
finally:
ssh.close()
-46
View File
@@ -1,46 +0,0 @@
import paramiko
import os
import tarfile
HOST = '64.90.11.73'
USER = 'root'
PASSWORD = 'qemzCSBQ8251'
REMOTE_DIR = '/root/chat-web'
print("正在连接到服务器...")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(HOST, username=USER, password=PASSWORD, look_for_keys=False, allow_agent=False)
print("正在清理并创建远程目录...")
ssh.exec_command(f'mkdir -p {REMOTE_DIR}/dist')
ssh.exec_command(f'rm -rf {REMOTE_DIR}/dist/*')
print("正在打包本地 dist 文件夹...")
with tarfile.open("dist.tar.gz", "w:gz") as tar:
tar.add("chat-web/dist", arcname="dist")
tar.add("chat-web/nginx.conf", arcname="nginx.conf")
sftp = ssh.open_sftp()
print("正在上传文件...")
sftp.put("dist.tar.gz", f"{REMOTE_DIR}/dist.tar.gz")
sftp.close()
print("正在远程解压...")
ssh.exec_command(f'cd {REMOTE_DIR} && tar -xzf dist.tar.gz && cp -r dist/nginx.conf .')
print("正在启动 Nginx 容器...")
cmd = (
f'docker stop chat-web-nginx; '
f'docker rm chat-web-nginx; '
f'docker run -d --name chat-web-nginx -p 38080:80 '
f'-v {REMOTE_DIR}/dist/dist:/usr/share/nginx/html '
f'-v {REMOTE_DIR}/nginx.conf:/etc/nginx/conf.d/default.conf nginx'
)
stdin, stdout, stderr = ssh.exec_command(cmd)
print("启动结果:", stdout.read().decode())
print("错误输出:", stderr.read().decode())
ssh.close()
os.remove("dist.tar.gz")
print("前端部署完成!可以访问 http://64.90.11.73:38080")
-7
View File
@@ -1,7 +0,0 @@
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('64.90.11.73', username='root', password='qemzCSBQ8251', look_for_keys=False, allow_agent=False)
stdin, stdout, stderr = ssh.exec_command('docker ps')
print(stdout.read().decode())
ssh.close()
-32
View File
@@ -1,32 +0,0 @@
import paramiko
host = "64.90.11.73"
port = 22
username = "root"
password = "qemzCSBQ8251"
print("Connecting to server...")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(host, port, username, password, look_for_keys=False, allow_agent=False)
commands = """
mkdir -p /root/gitea
docker stop gitea || true
docker rm gitea || true
docker run -d --name=gitea -p 3010:3000 -p 222:22 -v /root/gitea:/data gitea/gitea:latest
"""
print("Deploying Gitea via Docker...")
stdin, stdout, stderr = ssh.exec_command(commands)
for line in iter(stdout.readline, ""):
print(line, end="")
for line in iter(stderr.readline, ""):
print("ERROR:", line, end="")
print("Gitea deployed successfully.")
finally:
ssh.close()
-33
View File
@@ -1,33 +0,0 @@
import paramiko
host = "64.90.11.73"
port = 22
username = "root"
password = "qemzCSBQ8251"
print("Connecting to server...")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(host, port, username, password, look_for_keys=False, allow_agent=False)
commands = """
mkdir -p /root/jenkins
docker stop jenkins || true
docker rm jenkins || true
# 以 root 权限运行,挂载 docker 守护进程和二进制文件,使 Jenkins 可以进行 Docker 操作
docker run -d --name=jenkins -p 8081:8080 -p 50000:50000 -u root -v /root/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker jenkins/jenkins:lts
"""
print("Deploying Jenkins via Docker...")
stdin, stdout, stderr = ssh.exec_command(commands)
for line in iter(stdout.readline, ""):
print(line, end="")
for line in iter(stderr.readline, ""):
print("ERROR:", line, end="")
print("Jenkins deployed successfully.")
finally:
ssh.close()
-7
View File
@@ -1,7 +0,0 @@
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("64.90.11.73", 22, "root", "qemzCSBQ8251", look_for_keys=False, allow_agent=False)
stdin, stdout, stderr = ssh.exec_command("docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword")
print("PASS:" + stdout.read().decode())
ssh.close()
-19
View File
@@ -1,19 +0,0 @@
import urllib.request
import base64
import json
auth = base64.b64encode(b"admin:adminpassword").decode("ascii")
headers = {"Authorization": f"Basic {auth}"}
req = urllib.request.Request("http://64.90.11.73:8081/crumbIssuer/api/json", headers=headers)
data = json.loads(urllib.request.urlopen(req).read().decode())
headers[data['crumbRequestField']] = data['crumb']
headers["Origin"] = "http://64.90.11.73:8081"
headers["Referer"] = "http://64.90.11.73:8081/"
req3 = urllib.request.Request("http://64.90.11.73:8081/job/chat-pipeline/build", data=b"", headers=headers, method="POST")
try:
with urllib.request.urlopen(req3) as response:
print("Status:", response.status)
except Exception as e:
print("Error:", e)
-48
View File
@@ -1,48 +0,0 @@
import pymysql
try:
conn = pymysql.connect(
host='64.90.11.73',
port=33306,
user='root',
password='qemzCSBQ8251',
database='ai_chat',
charset='utf8mb4'
)
cursor = conn.cursor()
# 1. 增加 sys_user 表
cursor.execute("""
CREATE TABLE IF NOT EXISTS sys_user (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID',
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
password VARCHAR(255) NOT NULL COMMENT '密码(密文)',
role VARCHAR(32) NOT NULL DEFAULT 'user' COMMENT '角色',
created_at DATETIME NOT NULL COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统用户表';
""")
# 2. 插入 admin
cursor.execute("""
INSERT IGNORE INTO sys_user (id, username, password, role, created_at) VALUES (1, 'admin', '123456', 'admin', NOW());
""")
# 3. 为 chat_session 增加 user_id(如果不存在)
try:
cursor.execute("ALTER TABLE chat_session ADD COLUMN user_id BIGINT COMMENT '归属用户ID' AFTER id;")
cursor.execute("ALTER TABLE chat_session ADD INDEX idx_user_id (user_id);")
# 将已有的旧数据全部归属给 admin (user_id = 1)
cursor.execute("UPDATE chat_session SET user_id = 1 WHERE user_id IS NULL;")
print("已成功添加 user_id 字段并赋初始值。")
except Exception as e:
if 'Duplicate column name' in str(e):
print("user_id 字段已存在。")
else:
print(f"添加 user_id 时出错: {e}")
conn.commit()
cursor.close()
conn.close()
print("数据库结构更新完毕。")
except Exception as e:
print(f"数据库连接或执行出错: {e}")
-81
View File
@@ -1,81 +0,0 @@
import paramiko
host = "64.90.11.73"
port = 22
username = "root"
password = "qemzCSBQ8251"
def get_xml(script_path):
return f"""<?xml version='1.1' encoding='UTF-8'?>
<flow-definition plugin="workflow-job">
<definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps">
<scm class="hudson.plugins.git.GitSCM" plugin="git">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<url>http://root:qemzCSBQ8251@64.90.11.73:3010/root/chat.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<submoduleCfg class="empty-list"/>
<extensions/>
</scm>
<scriptPath>{script_path}</scriptPath>
<lightweight>true</lightweight>
</definition>
<disabled>false</disabled>
</flow-definition>"""
jobs = {
"chat-web-pipeline": get_xml("Jenkinsfile.web"),
"chat-server-pipeline": get_xml("Jenkinsfile.server")
}
print("Connecting to server via SSH...")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, port, username, password, look_for_keys=False, allow_agent=False)
try:
print("Downloading jenkins-cli.jar if not exists...")
cmd_download = "docker exec jenkins sh -c '[ -f /tmp/jenkins-cli.jar ] || curl -sL -o /tmp/jenkins-cli.jar http://localhost:8080/jnlpJars/jenkins-cli.jar'"
ssh.exec_command(cmd_download)
# Note: Using create-job if update-job fails (meaning job doesn't exist yet)
for job_name, xml_data in jobs.items():
print(f"\\n--- Processing {job_name} ---")
# Write XML to a temp file in the container
cmd_write = f"docker exec -i jenkins sh -c 'cat > /tmp/{job_name}.xml'"
stdin, _, _ = ssh.exec_command(cmd_write)
stdin.write(xml_data.encode('utf-8'))
stdin.close()
cmd_update = f"docker exec jenkins sh -c 'java -jar /tmp/jenkins-cli.jar -s http://64.90.11.73:8081/ -auth admin:adminpassword update-job {job_name} < /tmp/{job_name}.xml || java -jar /tmp/jenkins-cli.jar -s http://64.90.11.73:8081/ -auth admin:adminpassword create-job {job_name} < /tmp/{job_name}.xml'"
_, stdout, stderr = ssh.exec_command(cmd_update)
out = stdout.read().decode()
err = stderr.read().decode()
if err:
print(f"[{job_name}] Update/Create error:", err)
else:
print(f"[{job_name}] Update/Create output:", out or "Success")
print(f"[{job_name}] Triggering build...")
cmd_build = f"docker exec jenkins sh -c 'java -jar /tmp/jenkins-cli.jar -s http://64.90.11.73:8081/ -auth admin:adminpassword build {job_name}'"
_, stdout, stderr = ssh.exec_command(cmd_build)
out = stdout.read().decode()
err = stderr.read().decode()
if err:
print(f"[{job_name}] Trigger build error:", err)
else:
print(f"[{job_name}] Trigger build output:", out or "Success")
finally:
ssh.close()
-51
View File
@@ -1,51 +0,0 @@
import pymysql
import hashlib
# 前端密码 123456 的第一层 hash
FRONTEND_HASH = "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92"
def get_final_hash(username):
# 后端加密:sha256(username + hash)
raw = username + FRONTEND_HASH
return hashlib.sha256(raw.encode('utf-8')).hexdigest()
def update_passwords():
db_config = {
'host': '64.90.11.73',
'port': 33306,
'user': 'root',
'password': 'qemzCSBQ8251',
'database': 'ai_chat',
'charset': 'utf8mb4'
}
connection = None
try:
connection = pymysql.connect(**db_config)
with connection.cursor() as cursor:
# 获取所有用户
cursor.execute("SELECT id, username FROM sys_user")
users = cursor.fetchall()
for user in users:
user_id = user[0]
username = user[1]
new_hash = get_final_hash(username)
# 更新密码
cursor.execute(
"UPDATE sys_user SET password = %s WHERE id = %s",
(new_hash, user_id)
)
print(f"用户 {username} 的密码已被重置为双重加密后的 123456 (密文: {new_hash[:8]}...)")
connection.commit()
print("所有用户的密码已成功重置!")
except Exception as e:
print(f"重置密码时出错: {e}")
finally:
if connection:
connection.close()
if __name__ == '__main__':
update_passwords()