pipeline {
agent any
stages {
stage('SCM Checkout') {
steps {
git branch: 'master', url: '
https://github.com/khushalt-icpl/React-Admin.git'
}
}
stage('SonarQube Analysis') {
steps {
withSonarQubeEnv('SonarQubeServer') {
bat "C:/sonar-scanner-4.7.0.2747-windows/bin/sonar-scanner -D sonar.login=admin -D sonar.password=Khushal@123 -D sonar.projectKey=example1 -D sonar.exclusions=vendor/**,resources/**,**/*.java -D sonar.host.url=
http://localhost:9000"
}
}
}
stage('unit test'){
steps{
bat "npm install"
bat "npm run test"
}
}
stage('Build'){
steps{
bat "npm run build"
}
}
stage('Quality Gate') {
steps {
script{
timeout(time: 1, unit: 'MINUTES') {
waitForQualityGate abortPipeline: true
}
if(currentBuild.result == 'FAILUER') {
echo 'Quality gate has failuer'
}
else{
echo 'Quality gate has success'
currentBuild.result = 'SUCCESS'
}
}
}
}
stage('Deployment'){
steps{
bat "docker build -t new-image ."
}
}
}
post {
always {
echo 'Job completed'
}
}
}