def deploy() { node('ubuntu') { try { checkout scm nodejs(nodeJSInstallationName: 'Node23') { stage('Install') { sh 'yarn install --frozen-lockfile --production=false' } stage('Build') { sh 'NODE_ENV=production yarn build' } stage('Deploy') { // Deploy to Cloudflare Pages using wrangler withCredentials([string(credentialsId: 'th-cloudflare-api-token', variable: 'CLOUDFLARE_API_TOKEN')]) { sh 'npx wrangler pages deploy dist' } } } } finally { cleanWs() } } } deploy()