From 448cf5ceae71b73f8cff47278e8f6ea4dde0a103 Mon Sep 17 00:00:00 2001 From: kris Date: Mon, 2 Feb 2026 03:57:20 +0000 Subject: [PATCH] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cfef03d0..9bdfffa4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,32 +16,46 @@ default: .build_template: &build_template stage: build image: node:20-alpine + cache: key: npm-cache paths: - node_modules/ + variables: - NPM_CONFIG_PRODUCTION: 'false' - NODE_ENV: '' + NODE_ENV: "" + NPM_CONFIG_PRODUCTION: "false" + script: - - echo "Installing dependencies..." + # Install dependencies + - echo "๐Ÿ“ฆ Installing dependencies..." - 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_SSO_LOGIN_URL=$NEXT_PUBLIC_SSO_LOGIN_URL" - echo "NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL" - - echo "NEXT_PUBLIC_CLIENT_ID=$NEXT_PUBLIC_CLIENT_ID" - # โœ… Build Next - - echo "Building Next.js..." + # Clean old output + - echo "๐Ÿงน Cleaning old build..." + - rm -rf .next out + + # Build Next.js + - echo "๐Ÿ—๏ธ Running Next.js build..." - npx next build - # โœ… Export static to out/ (ini yang sebelumnya missing) - - echo "Exporting Next.js static site to ./out ..." - - npx next export -o out + # Export static site + - echo "๐Ÿ“ค Exporting static site..." + - 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 < out/build-info.json { @@ -50,19 +64,12 @@ default: "built_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")", "NEXT_PUBLIC_LTI_URL": "$NEXT_PUBLIC_LTI_URL", "NEXT_PUBLIC_SSO_LOGIN_URL": "$NEXT_PUBLIC_SSO_LOGIN_URL", - "NEXT_PUBLIC_API_BASE_URL": "$NEXT_PUBLIC_API_BASE_URL", - "NEXT_PUBLIC_CLIENT_ID": "$NEXT_PUBLIC_CLIENT_ID" + "NEXT_PUBLIC_API_BASE_URL": "$NEXT_PUBLIC_API_BASE_URL" } 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: - name: 'out-$CI_COMMIT_SHORT_SHA' + name: "out-$CI_COMMIT_SHORT_SHA" paths: - out/ expire_in: 1 week