ci: 构建容器加 NODE_OPTIONS 堆上限,修复宿主机 OOM 导致的 exit 137
build / build (push) Successful in 7m56s

This commit is contained in:
wanghu
2026-10-14 16:33:33 +08:00
parent b6f5237d64
commit 3f161babb6
+5 -1
View File
@@ -38,14 +38,18 @@ jobs:
- name: 构建前端(node 容器) - name: 构建前端(node 容器)
run: | run: |
set -e set -e
cleanup() { docker rm -f frontbuild 2>/dev/null || true; }
trap cleanup EXIT
docker rm -f frontbuild 2>/dev/null || true docker rm -f frontbuild 2>/dev/null || true
docker run -d --name frontbuild -w /build node:20 sleep 3600 docker run -d --name frontbuild -w /build node:20 sleep 3600
docker cp "${PWD}/." frontbuild:/build/ docker cp "${PWD}/." frontbuild:/build/
# NODE_OPTIONS 堆上限:CI 宿主机内存有限,不设上限会被内核 OOM 杀掉(exit 137)
docker exec frontbuild sh -c ' docker exec frontbuild sh -c '
set -e set -e
cd /build cd /build
if [ -f .npmrc ]; then sed -i "/SASS_BINARY_PATH/d" .npmrc; fi if [ -f .npmrc ]; then sed -i "/SASS_BINARY_PATH/d" .npmrc; fi
npm ci export NODE_OPTIONS="--max-old-space-size=2048"
npm ci --no-audit --no-fund
npm run build npm run build
' '
echo "=== dist 产物 ===" echo "=== dist 产物 ==="