|
|
@@ -0,0 +1,67 @@
|
|
|
+# zkxw:仅编译打包,不自动部署测试环境
|
|
|
+# 触发:push / tag
|
|
|
+# 产物:artifacts/*.tar.gz(日志打印 sha256)
|
|
|
+
|
|
|
+kind: pipeline
|
|
|
+type: docker
|
|
|
+name: build-package
|
|
|
+
|
|
|
+concurrency:
|
|
|
+ limit: 1
|
|
|
+
|
|
|
+trigger:
|
|
|
+ event:
|
|
|
+ - push
|
|
|
+ - tag
|
|
|
+
|
|
|
+steps:
|
|
|
+ - name: build-and-package
|
|
|
+ image: node:20-bookworm
|
|
|
+ commands:
|
|
|
+ - set -euo pipefail
|
|
|
+ - mkdir -p artifacts
|
|
|
+ - |
|
|
|
+ echo "[CI] prepare env (tracked .env.docker → .env.test; .env.test is gitignored)"
|
|
|
+ if [ -f web-admin/.env.docker ]; then
|
|
|
+ cp web-admin/.env.docker web-admin/.env.test
|
|
|
+ else
|
|
|
+ echo "missing web-admin/.env.docker" >&2
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ if [ -f mobile-oa-h5/.env.docker ]; then
|
|
|
+ cp mobile-oa-h5/.env.docker mobile-oa-h5/.env.test
|
|
|
+ else
|
|
|
+ echo "missing mobile-oa-h5/.env.docker" >&2
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ - |
|
|
|
+ echo "[CI] web-admin pnpm build:test"
|
|
|
+ corepack enable
|
|
|
+ corepack prepare pnpm@9.15.9 --activate
|
|
|
+ cd web-admin
|
|
|
+ pnpm install --frozen-lockfile
|
|
|
+ pnpm build:test
|
|
|
+ cd ..
|
|
|
+ tar -C web-admin -czf artifacts/web-admin-dist.tar.gz dist
|
|
|
+ - |
|
|
|
+ echo "[CI] mobile-oa-h5 build --mode test"
|
|
|
+ cd mobile-oa-h5
|
|
|
+ npm ci
|
|
|
+ npm run build -- --mode test
|
|
|
+ cd ..
|
|
|
+ tar -C mobile-oa-h5 -czf artifacts/oa-h5-dist.tar.gz dist
|
|
|
+ - |
|
|
|
+ echo "[CI] backend source package"
|
|
|
+ tar -czf artifacts/backend-src.tar.gz \
|
|
|
+ --exclude='backend/.venv' \
|
|
|
+ --exclude='backend/venv' \
|
|
|
+ --exclude='backend/__pycache__' \
|
|
|
+ --exclude='backend/**/__pycache__' \
|
|
|
+ --exclude='backend/logs' \
|
|
|
+ --exclude='backend/.pytest_cache' \
|
|
|
+ --exclude='backend/graphify-out' \
|
|
|
+ backend
|
|
|
+ - |
|
|
|
+ echo "[CI] artifacts checksums"
|
|
|
+ sha256sum artifacts/*.tar.gz
|
|
|
+ ls -lh artifacts/
|