Files
Scoring-System/.gitea/workflows/deploy.yaml
爽哒哒 cefd1aab58
All checks were successful
Deploy to Server / deploy (push) Successful in 20s
fix: use git clone with retry for initial deploy
2026-03-21 02:40:35 +08:00

86 lines
3.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Deploy to Server
on: [push]
jobs:
deploy:
runs-on: ubuntu
steps:
- name: Deploy using SSH
uses: https://gitea.com/actions/appleboy-ssh-action@v1.0.3
with:
host: 6.6.6.66
username: quant
password: 123quant-speed
script: |
TARGET_DIR="/home/quant/data/dev/deploy"
SUDO_PASSWORD="123quant-speed"
# 1. 切换到目标目录
echo "===== 切换到目标目录: $TARGET_DIR ====="
cd $TARGET_DIR || {
echo "错误:目录 $TARGET_DIR 不存在!"
exit 1
}
# 2. 停止并移除 Docker 容器
echo -e "\n===== 停止并清理 Docker ====="
echo $SUDO_PASSWORD | sudo -S docker compose down
# 3. 拉取 Git 最新代码
echo -e "\n===== 拉取 Git 代码 ====="
REPO_URL="https://sdd:zsj981107@gitea.tangledup-ai.com/quant-speed-AI/Scoring-System.git"
if [ ! -d ".git" ]; then
echo "不是 git 仓库,尝试 clone最多重试3次..."
# 先清理可能残留的 .git
rm -rf .git
for i in 1 2 3; do
echo "第 $i 次尝试 clone..."
git clone --depth=1 $REPO_URL /tmp/scoring-system-clone && break
echo "clone 失败等待5秒后重试..."
sleep 5
done
if [ -d "/tmp/scoring-system-clone/.git" ]; then
cp -r /tmp/scoring-system-clone/. .
rm -rf /tmp/scoring-system-clone
echo "clone 成功"
else
echo "错误clone 失败,终止部署"
rm -rf /tmp/scoring-system-clone
exit 1
fi
else
git remote set-url origin $REPO_URL
if ! git pull; then
echo "警告Git pull 失败,尝试强制同步远程代码..."
git fetch --all
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
git reset --hard origin/$CURRENT_BRANCH
fi
fi
# 4. 创建/更新 .env 文件
echo -e "\n===== 配置环境变量 ====="
cat > backend/.env <<EOF
# Database Configuration
DB_NAME=scoring
DB_USER=quant-speed
DB_PASSWORD=123quant-speed
DB_HOST=6.6.6.66
DB_PORT=5432
# Aliyun OSS Configuration
ALIYUN_ACCESS_KEY_ID=LTAI5tE62GW8MKyoEaotzxXk
ALIYUN_ACCESS_KEY_SECRET=Zdzqo1fgj57DxxioXOotNKhJdSfVQW
ALIYUN_OSS_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
ALIYUN_OSS_BUCKET_NAME=tangledup-ai-staging
ALIYUN_OSS_INTERNAL_ENDPOINT=https://oss-cn-shanghai-internal.aliyuncs.com
# Aliyun Tingwu Configuration
ALIYUN_TINGWU_APP_KEY=6eOX7N3tKE0fDwb
DASHSCOPE_API_KEY=sk-84e9eef24a274f568d4fa15c97556c9f
EOF
# 5. 重新启动 Docker 容器
echo -e "\n===== 启动 Docker 容器 ====="
echo $SUDO_PASSWORD | sudo -S docker compose up -d --build
echo -e "\n===== 操作完成!====="