diff --git a/Jenkinsfile b/Jenkinsfile index e69de29..91eaf38 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -0,0 +1,49 @@ +pipeline { + agent any + + environment { + NODE_ENV = 'production' + CLOUDFLARE_ACCOUNT_ID = credentials('cloudflare-account-id') + CLOUDFLARE_API_TOKEN = credentials('cloudflare-api-token') + PROJECT_NAME = 'tombutcher-web' + } + + tools { + nodejs 'Node23' // This should match the name of your NodeJS installation in Jenkins tools + } + + stages { + stage('Checkout') { + steps { + checkout scm // Checkout the repository + } + } + + stage('Install dependencies') { + steps { + sh 'npm install --include dev' // Install project dependencies + } + } + + stage('Build') { + steps { + sh 'npm run build' // Build the project + } + } + + stage('Deploy to Cloudflare Pages') { + steps { + sh 'npx wrangler deploy' + } + } + } + + post { + failure { + echo 'Build or deployment failed.' + } + success { + echo 'Successfully deployed to Cloudflare Pages.' + } + } +}