Files
nodeMap/Jenkinsfile
2025-01-13 15:02:04 +01:00

78 lines
2.3 KiB
Groovy

pipeline {
agent any
stages {
stage('Checkout SCM') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '**']],
doGenerateSubmoduleConfigurations: false,
extensions: [],
userRemoteConfigs: [[url: 'http://192.168.10.95:3002/Ismail/nodeMap', credentialsId: 'gmail2']]])
}
}
stage('Check Node.js Version') {
steps {
script {
def nodeVersion = sh(script: 'node --version', returnStdout: true).trim()
echo "Node.js version: ${nodeVersion}"
}
}
}
stage('Install Dependencies') {
steps {
sh 'npm install'
}
}
stage('Run Unit Tests') {
steps {
sh 'npm test'
}
}
stage('Run Cypress Tests') {
steps {
script {
echo "Installing Cypress..."
sh 'npx cypress install'
echo "Running Cypress Tests..."
try {
sh 'npx cypress run --reporter spec'
} catch (err) {
echo "Cypress Tests Failed!"
error "Build failed due to Cypress test failures."
}
echo "Cypress Tests Completed."
}
}
}
}
post {
success {
emailext(
subject: "Build Success: ${JOB_NAME} #${BUILD_NUMBER}",
body: """
Build Successful! Details:
- Job Name: ${JOB_NAME}
- Build Number: ${BUILD_NUMBER}
- Build URL: ${BUILD_URL}
""",
to: "ismailali1553@gmail.com"
)
}
failure {
emailext(
subject: "Build Failed: ${JOB_NAME} #${BUILD_NUMBER}",
body: """
Build Failed! Details:
- Job Name: ${JOB_NAME}
- Build Number: ${BUILD_NUMBER}
- Build URL: ${BUILD_URL}
""",
to: "ismailali1553@gmail.com"
)
}
}
}