2025-tombutcher-ui/Jenkinsfile
2025-04-06 22:48:35 +01:00

54 lines
1.0 KiB
Groovy

pipeline {
agent any
environment {
NODE_ENV = 'production'
CLOUDFLARE_ACCOUNT_ID = credentials('cloudflare-account-id')
CLOUDFLARE_API_TOKEN = credentials('cloudflare-api-token')
PROJECT_NAME = 'tombutcher-ui'
}
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 '''
wrangler pages deploy ./build \
--project-name $PROJECT_NAME \
--branch main
'''
}
}
}
post {
failure {
echo 'Build or deployment failed.'
}
success {
echo 'Successfully deployed to Cloudflare Pages.'
}
}
}