Files
CICD/.gitea/workflows/ci.yml
SpecialX aaf4e498f8
Some checks failed
CI / build-and-test (push) Successful in 8m12s
CI / deploy (push) Has been cancelled
chore: remove debug steps and loyment workflow
2025-12-22 13:38:56 +08:00

85 lines
2.1 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-and-test:
runs-on: CDCD
container: dockerreg.eazygame.cn/node:22-bookworm
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Typecheck
run: npm run typecheck
- name: Build
run: npm run build
# - name: 🔍 Debug - List Build Files
# run: |
# echo "======================="
# echo "1. Root directory files:"
# ls -la
# echo "======================="
# echo "2. Checking .next directory:"
# if [ -d ".next" ]; then
# ls -la .next
# else
# echo "❌ Error: .next folder does not exist!"
# fi
# echo "======================="
# echo "3. Deep check of .next (excluding node_modules):"
# # 查找 .next 目录下 4 层深度的文件,但排除 node_modules 避免日志太长
# find .next -maxdepth 4 -not -path '*/node_modules*'
- name: Prepare standalone build
run: |
mkdir -p .next/standalone/public
mkdir -p .next/standalone/.next/static
cp -r public/* .next/standalone/public/
cp -r .next/static/* .next/standalone/.next/static/
cp Dockerfile .next/standalone/Dockerfile
- name: Upload production build artifact
uses: actions/upload-artifact@v3
with:
name: next-build
path: .next/standalone
deploy:
needs: build-and-test
runs-on: CDCD
container:
image: dockerreg.eazygame.cn/node-with-docker:22
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: next-build
- name: Deploy to Docker
run: |
docker build -t nextjs-app .
docker stop nextjs-app || true
docker rm nextjs-app || true
docker run -d -p 8015:3000 --restart unless-stopped --name nextjs-app nextjs-app