Files
rent/.gitea/workflows/deploy.yml
T
xiaoquan 951569f6cc fix: 移除 CI/CD 工作流中的 GitHub Actions 缓存依赖
## 问题
- actions/cache@v4 需要访问 GitHub,在国内服务器上经常超时
- 导致 CI/CD 流程失败

## 解决方案
- 移除 actions/cache 依赖
- 每次构建时重新安装依赖(使用 pnpm 本地缓存)
- 简化工作流程,提高稳定性

## 影响
- 构建时间可能略微增加
- 但避免了网络超时问题
- pnpm 的本地 .pnpm-store 仍然提供缓存加速

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 16:32:12 +08:00

93 lines
2.7 KiB
YAML

name: Deploy
on:
push:
branches:
- prod
- test
env:
NODE_ENV: production
jobs:
install:
runs-on: [self-hosted, rent-deploy]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
npm install -g pnpm
pnpm config set store-dir .pnpm-store
pnpm install --frozen-lockfile
build:
runs-on: [self-hosted, rent-deploy]
needs: install
steps:
- uses: actions/checkout@v4
- name: Build shared packages
run: |
npm install -g pnpm
pnpm config set store-dir .pnpm-store
pnpm install --frozen-lockfile
pnpm --filter @rent/shared-types build
pnpm --filter @rent/shared-utils build
- name: Build server
run: pnpm --filter @rent/server build
- name: Build merchant-admin
run: pnpm --filter @rent/merchant-admin build
- name: Build platform-admin
run: pnpm --filter @rent/platform-admin build
- name: Build website
run: pnpm --filter @rent/official-website build
deploy-production:
runs-on: [self-hosted, rent-deploy]
needs: build
if: github.ref == 'refs/heads/prod'
steps:
- uses: actions/checkout@v4
- name: Deploy to production
run: |
echo "部署到生产环境..."
cd 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
deploy-test:
runs-on: [self-hosted, rent-deploy]
needs: build
if: github.ref == 'refs/heads/test'
steps:
- uses: actions/checkout@v4
- name: Deploy to test
run: |
echo "部署到测试环境..."
cd 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