Files
check_in/.gitea/workflows/deploy.yml
Workflow config file is invalid. Please check your config file: yaml: line 56: could not find expected ':'
jeremygan2021 cc46eb03cd actino
2026-03-20 16:28:04 +08:00

70 lines
2.2 KiB
YAML
Raw Permalink 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: 部署到服务器
on:
push:
branches: [main, master]
workflow_dispatch:
env:
TARGET_DIR: /home/quant/data/dev/checkin
jobs:
deploy:
runs-on: ubuntu
steps:
- name: 安装 sshpass
run: |
sudo apt-get update
sudo apt-get install -y sshpass
- name: 在服务器上部署
env:
SERVER_HOST: ${{ secrets.SERVER_HOST }}
SERVER_USER: ${{ secrets.SERVER_USER }}
SERVER_PASSWORD: ${{ secrets.SERVER_PASSWORD }}
SERVER_PORT: ${{ secrets.SERVER_PORT }}
TARGET_DIR: ${{ env.TARGET_DIR }}
run: |
sshpass -p "$SERVER_PASSWORD" ssh -p "$SERVER_PORT" -o StrictHostKeyChecking=no "${SERVER_USER}@${SERVER_HOST}" << 'EOF'
set -e
run_sudo() {
echo "$SERVER_PASSWORD" | sudo -S -p '' "$@"
}
echo "===== 切换到目标目录: $TARGET_DIR ====="
cd $TARGET_DIR || {
echo "错误:目录 $TARGET_DIR 不存在!"
exit 1
}
echo -e "\n===== 停止并清理 Docker ====="
run_sudo docker compose down || true
echo -e "\n===== 拉取 Git 代码 ====="
if ! git pull; then
echo "警告Git pull 失败,尝试强制同步远程代码..."
git fetch --all
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
git reset --hard origin/$CURRENT_BRANCH
git pull
fi
echo -e "\n===== 配置环境变量 ====="
cat > backend/.env <<'ENVEOF'
ALIYUN_ACCESS_KEY_ID=${{ secrets.ALIYUN_ACCESS_KEY_ID }}
ALIYUN_ACCESS_KEY_SECRET=${{ secrets.ALIYUN_ACCESS_KEY_SECRET }}
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_APP_KEY=${{ secrets.ALIYUN_TINGWU_APP_KEY }}
DASHSCOPE_API_KEY=${{ secrets.DASHSCOPE_API_KEY }}
ENVEOF
echo -e "\n===== 启动 Docker 容器 ====="
run_sudo docker compose up -d --build
echo -e "\n===== 操作完成!====="
EOF