Files
lunar-mini/.gitea/workflows/server-deploy.yml
T
gouki e076d40daa
Publish Mini Program Dev Version / publish (push) Failing after 4s
Build and Deploy Server / build (push) Failing after 44s
fix: 注册 lunar 专属运行器并修正工作流标签
- 在 doc79 注册 act_runner-lunar(ID 43),模式参考 readitlater
- lunar-node: docker://node:22-bookworm(小程序构建)
- lunar-ci: docker://golang:1.22-bookworm(后端构建)
- 产物挂载 /opt/lunar/ci-artifacts:/ci-artifacts
- .gitignore 补充 web/ 和 .ci-tmp/
2026-08-06 23:27:41 +00:00

77 lines
2.1 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: Build and Deploy Server
on:
push:
branches:
- main
paths:
- "server/**"
- ".gitea/workflows/server-deploy.yml"
jobs:
build:
# 专属运行器:docker://golang:1.22-bookworm(注册于 doc79
runs-on: lunar-ci
steps:
- uses: https://gitea.neatcn.com/gouki/action-checkout@v4
with:
fetch-depth: 20
- name: Verify Go runtime
run: go version
- name: Install dependencies
working-directory: server
run: go mod download
- name: Run tests
working-directory: server
run: go test ./...
- name: Build application
working-directory: server
run: |
mkdir -p bin
go build -o bin/server cmd/main.go
- name: Build frontend (if exists)
working-directory: server
run: |
if [ -d "web" ]; then
echo "Building frontend..."
cd web
if [ -f "package.json" ]; then
npm ci
npm run build
fi
else
echo "No frontend directory found, skipping frontend build"
fi
- name: Create deployment package
working-directory: server
run: |
mkdir -p deploy
cp -r bin/ deploy/
cp -r migrations/ deploy/
cp -r scripts/ deploy/
if [ -d "web/dist" ]; then
cp -r web/dist/ deploy/public/
fi
tar -czf deploy.tar.gz deploy/
- name: Persist deployment package on runner host
run: |
test -f server/deploy.tar.gz
test -d /ci-artifacts
cp server/deploy.tar.gz "/ci-artifacts/server-deploy-${{ gitea.sha }}.tar.gz"
cp server/deploy.tar.gz /ci-artifacts/server-deploy-latest.tar.gz
ls -la /ci-artifacts/server-deploy-latest.tar.gz
echo "Deployment package saved on runner host: /opt/lunar/ci-artifacts/server-deploy-latest.tar.gz"
- name: Cleanup
if: always()
run: |
rm -rf server/deploy/
rm -f server/deploy.tar.gz