diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..9f6fca4 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,54 @@ +pipeline { + agent any + + environment { + NODE_ENV = 'production' + PROJECT_NAME = 'tombutcher-auth' + } + + 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' // Install project dependencies + } + } + + stage('Build theme') { + steps { + sh 'npx keycloakify build' // Install project dependencies + } + } + + stage('Archive Artifacts') { + steps { + archiveArtifacts artifacts: 'dist_keycloak/*.jar', fingerprint: true + } + } + + } + + post { + failure { + echo 'Build or deployment failed.' + } + success { + echo 'Successfully deployed to Cloudflare Pages.' + } + } +}