diff --git a/YI_LIUYANG b/YI_LIUYANG new file mode 100644 index 0000000..c923bb0 --- /dev/null +++ b/YI_LIUYANG @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACA20GNyqm4LjDk1gVVnW1B8LnWw8pbZdDCwI+5wU4ishgAAAJB4mJxheJic +YQAAAAtzc2gtZWQyNTUxOQAAACA20GNyqm4LjDk1gVVnW1B8LnWw8pbZdDCwI+5wU4ishg +AAAECr8W4FkpVwEtReeKxc7PoSe3q089fPxreRPvGDI3+o9TbQY3KqbguMOTWBVWdbUHwu +dbDyltl0MLAj7nBTiKyGAAAACllJX0xJVVlBTkcBAgM= +-----END OPENSSH PRIVATE KEY----- diff --git a/package.json b/package.json index 919b25f..345e385 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", + "upload": "bash ./upload.sh", + "build-and-upload": "pnpm run build && pnpm run upload", "preview": "vite preview", "check-env": "node ./scripts/checkVersions.cjs" }, diff --git a/upload.sh b/upload.sh new file mode 100644 index 0000000..0d83a2a --- /dev/null +++ b/upload.sh @@ -0,0 +1,43 @@ + +#!/bin/bash + +# 服务器信息 +SERVER_USER="root" +SERVER_HOST="106.14.30.150" +SERVER_PATH="/opt/1panel/apps/openresty/openresty/www/sites/sort.ycymedu.com/index" +PRIVATE_KEY="YI_LIUYANG" +BACKUP_PATH="${SERVER_PATH}-backup-$(date +%Y%m%d%H%M%S).zip" +DINGDING_WEBHOOK="https://oapi.dingtalk.com/robot/send?access_token=fca104958fea6273c9c7ef3f08b3d552645c214f929066785e8caf6e1885a5a6" + +# 在上传之前备份原来的文件并压缩 +ssh -i $PRIVATE_KEY $SERVER_USER@$SERVER_HOST "cd $(dirname $SERVER_PATH) && zip -r $(basename $BACKUP_PATH) $(basename $SERVER_PATH)" + +# 使用 scp 上传文件 +scp -i $PRIVATE_KEY -r dist/* $SERVER_USER@$SERVER_HOST:$SERVER_PATH + +# 提示上传完成 +if [ $? -eq 0 ]; then + echo "上传成功!备份存储于 $BACKUP_PATH" + + # 发送钉钉通知 + curl -X POST "$DINGDING_WEBHOOK" \ + -H "Content-Type: application/json" \ + -d '{ + "msgtype": "text", + "text": { + "content": "single html| upload success!!! backup to'"$BACKUP_PATH"'" + } + }' +else + echo "上传失败,请检查错误信息。" + + # 发送钉钉通知 + curl -X POST "$DINGDING_WEBHOOK" \ + -H "Content-Type: application/json" \ + -d '{ + "msgtype": "text", + "text": { + "content": "single html|upload fail,please check error info。" + } + }' +fi