Update .gitlab-ci.yml file

This commit is contained in:
kris
2026-02-02 03:57:20 +00:00
parent 8fa2a444f0
commit 448cf5ceae
+27 -20
View File
@@ -16,32 +16,46 @@ default:
.build_template: &build_template .build_template: &build_template
stage: build stage: build
image: node:20-alpine image: node:20-alpine
cache: cache:
key: npm-cache key: npm-cache
paths: paths:
- node_modules/ - node_modules/
variables: variables:
NPM_CONFIG_PRODUCTION: 'false' NODE_ENV: ""
NODE_ENV: '' NPM_CONFIG_PRODUCTION: "false"
script: script:
- echo "Installing dependencies..." # Install dependencies
- echo "📦 Installing dependencies..."
- npm ci --no-audit --no-fund - npm ci --no-audit --no-fund
- echo "Build env used:" # Print env used
- echo "✅ Build env used:"
- echo "NEXT_PUBLIC_LTI_URL=$NEXT_PUBLIC_LTI_URL" - echo "NEXT_PUBLIC_LTI_URL=$NEXT_PUBLIC_LTI_URL"
- echo "NEXT_PUBLIC_SSO_LOGIN_URL=$NEXT_PUBLIC_SSO_LOGIN_URL" - echo "NEXT_PUBLIC_SSO_LOGIN_URL=$NEXT_PUBLIC_SSO_LOGIN_URL"
- echo "NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL" - echo "NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL"
- echo "NEXT_PUBLIC_CLIENT_ID=$NEXT_PUBLIC_CLIENT_ID"
# ✅ Build Next # Clean old output
- echo "Building Next.js..." - echo "🧹 Cleaning old build..."
- rm -rf .next out
# Build Next.js
- echo "🏗️ Running Next.js build..."
- npx next build - npx next build
# Export static to out/ (ini yang sebelumnya missing) # Export static site
- echo "Exporting Next.js static site to ./out ..." - echo "📤 Exporting static site..."
- npx next export -o out - npx next export
# build-info.json tetap kamu simpan di out/ # Validate export result
- echo "🔍 Validating export output..."
- test -f out/index.html || (echo "❌ out/index.html missing" && exit 1)
- test -d out/_next/static || (echo "❌ out/_next/static missing" && exit 1)
# Build metadata
- echo "📝 Writing build-info.json..."
- | - |
cat <<EOF > out/build-info.json cat <<EOF > out/build-info.json
{ {
@@ -50,19 +64,12 @@ default:
"built_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")", "built_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
"NEXT_PUBLIC_LTI_URL": "$NEXT_PUBLIC_LTI_URL", "NEXT_PUBLIC_LTI_URL": "$NEXT_PUBLIC_LTI_URL",
"NEXT_PUBLIC_SSO_LOGIN_URL": "$NEXT_PUBLIC_SSO_LOGIN_URL", "NEXT_PUBLIC_SSO_LOGIN_URL": "$NEXT_PUBLIC_SSO_LOGIN_URL",
"NEXT_PUBLIC_API_BASE_URL": "$NEXT_PUBLIC_API_BASE_URL", "NEXT_PUBLIC_API_BASE_URL": "$NEXT_PUBLIC_API_BASE_URL"
"NEXT_PUBLIC_CLIENT_ID": "$NEXT_PUBLIC_CLIENT_ID"
} }
EOF EOF
# ✅ Verifikasi cepat (biar ketahuan out/ isinya bener)
- echo "===== out/ preview ====="
- ls -lah out | head -n 50
- echo "===== _next assets preview ====="
- ls -lah out/_next/static/chunks 2>/dev/null | head -n 30 || true
artifacts: artifacts:
name: 'out-$CI_COMMIT_SHORT_SHA' name: "out-$CI_COMMIT_SHORT_SHA"
paths: paths:
- out/ - out/
expire_in: 1 week expire_in: 1 week