Files
rent/.gitea/workflows/deploy.yml
T
xiaoquan 85547d7043
Deploy / deploy (push) Failing after 1m36s
fix: 修复 pnpm 版本和 docker compose 命令
## 修改内容
1. 所有 Dockerfile 中指定 pnpm@8(兼容 lockfileVersion 6.0)
2. 工作流使用 docker compose(V2)而不是 docker-compose

## 修复的问题
- pnpm-lock.yaml 版本不兼容
- 容器中缺少 docker-compose 命令

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 19:42:53 +08:00

82 lines
2.5 KiB
YAML

name: Deploy
on:
push:
branches:
- prod
- test
env:
NODE_ENV: production
jobs:
deploy:
runs-on: self-hosted
container:
image: catthehacker/ubuntu:act-latest
options: --privileged
steps:
- name: Clone or update code
run: |
WORK_DIR="/workspace/rent-deploy"
REPO_URL="https://gitea.pinzhuhui.com/xiaoquan/rent.git"
echo "准备代码..."
if [ -d "$WORK_DIR/.git" ]; then
echo "代码目录已存在,更新代码..."
cd $WORK_DIR
git fetch origin
git checkout ${{ github.ref_name }}
git pull origin ${{ github.ref_name }}
else
echo "首次克隆代码..."
git clone $REPO_URL $WORK_DIR
cd $WORK_DIR
git checkout ${{ github.ref_name }}
fi
echo "✅ 代码准备完成"
echo "当前分支: $(git branch --show-current)"
echo "最新提交: $(git log -1 --oneline)"
- name: Deploy to test
if: github.ref == 'refs/heads/test'
run: |
echo "部署到测试环境..."
cd /workspace/rent-deploy/deploy/docker
export TEST_DB_PASSWORD="${{ secrets.TEST_DB_PASSWORD }}"
export TEST_JWT_SECRET="${{ secrets.TEST_JWT_SECRET }}"
export ENCRYPTION_KEY="${{ secrets.ENCRYPTION_KEY }}"
docker compose -f docker-compose.test.yml down --remove-orphans
docker compose -f docker-compose.test.yml build --parallel
docker compose -f docker-compose.test.yml up -d
docker image prune -f
echo "等待服务启动..."
sleep 10
docker compose -f docker-compose.test.yml ps
echo "✅ 测试环境部署完成"
- name: Deploy to production
if: github.ref == 'refs/heads/prod'
run: |
echo "部署到生产环境..."
cd /workspace/rent-deploy/deploy/docker
export PROD_DB_PASSWORD="${{ secrets.PROD_DB_PASSWORD }}"
export PROD_JWT_SECRET="${{ secrets.PROD_JWT_SECRET }}"
export ENCRYPTION_KEY="${{ secrets.ENCRYPTION_KEY }}"
docker compose -f docker-compose.prod.yml down --remove-orphans
docker compose -f docker-compose.prod.yml build --parallel
docker compose -f docker-compose.prod.yml up -d
docker image prune -f
echo "等待服务启动..."
sleep 10
docker compose -f docker-compose.prod.yml ps
echo "✅ 生产环境部署完成"