Update Jenkinsfile

This commit is contained in:
Sofiia Churikova 2025-05-02 03:00:16 +03:00
parent e32f8e565e
commit 5be1106f60

39
Jenkinsfile vendored
View file

@ -19,6 +19,7 @@ pipeline {
} }
} }
} }
stage('Test') { stage('Test') {
steps { steps {
sh 'mvn test' sh 'mvn test'
@ -29,6 +30,7 @@ pipeline {
} }
} }
} }
stage('Build') { stage('Build') {
steps { steps {
sh 'mvn clean package -DskipTests' sh 'mvn clean package -DskipTests'
@ -39,34 +41,28 @@ pipeline {
} }
} }
} }
stage('Create Docker Image') { stage('Create Docker Image') {
agent {
docker {
image 'docker:dind'
args '-v /var/run/docker.sock:/var/run/docker.sock'
}
}
steps { steps {
script { script {
def shortCommit = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim() def shortCommit = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim()
withCredentials([usernamePassword(credentialsId: 'nexus-credentials',
usernameVariable: 'NEXUS_USERNAME', docker.withRegistry("http://${env.NEXUS_SERVER}:${env.NEXUS_PORT_MR}", 'nexus-credentials') {
passwordVariable: 'NEXUS_PASSWORD')]) { def customImage = docker.build("${env.NEXUS_SERVER}:${env.NEXUS_PORT_MR}/${env.NEXUS_REPO_MR}:${shortCommit}", "-f Dockerfile.multi .")
sh "docker build -f Dockerfile.multi -t ${env.NEXUS_SERVER}:${env.NEXUS_PORT_MR}/${env.NEXUS_REPO_MR}:${shortCommit} ." customImage.push()
sh "docker login ${env.NEXUS_SERVER}:${env.NEXUS_PORT_MR} -u ${NEXUS_USERNAME} -p ${NEXUS_PASSWORD}"
sh "docker push ${env.NEXUS_SERVER}:${env.NEXUS_PORT_MR}/${env.NEXUS_REPO_MR}:${shortCommit}"
} }
} }
} }
} }
} }
} }
stage('Main Branch Pipeline') { stage('Main Branch Pipeline') {
when { when {
branch 'main' branch 'main'
} }
stages { stages {
stage('Build') { stage('Build App') {
steps { steps {
sh 'mvn clean package -DskipTests' sh 'mvn clean package -DskipTests'
} }
@ -76,22 +72,15 @@ pipeline {
} }
} }
} }
stage('Create Docker Image') { stage('Create Docker Image') {
agent {
docker {
image 'docker:dind'
args '-v /var/run/docker.sock:/var/run/docker.sock'
}
}
steps { steps {
script { script {
def shortCommit = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim() def shortCommit = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim()
withCredentials([usernamePassword(credentialsId: 'nexus-credentials',
usernameVariable: 'NEXUS_USERNAME', docker.withRegistry("http://${env.NEXUS_SERVER}:${env.NEXUS_PORT_MAIN}", 'nexus-credentials') {
passwordVariable: 'NEXUS_PASSWORD')]) { def customImage = docker.build("${env.NEXUS_SERVER}:${env.NEXUS_PORT_MAIN}/${env.NEXUS_REPO_MAIN}:${shortCommit}", "-f Dockerfile.multi .")
sh "docker build -f Dockerfile.multi -t ${env.NEXUS_SERVER}:${env.NEXUS_PORT_MAIN}/${env.NEXUS_REPO_MAIN}:${shortCommit} ." customImage.push()
sh "docker login ${env.NEXUS_SERVER}:${env.NEXUS_PORT_MAIN} -u ${NEXUS_USERNAME} -p ${NEXUS_PASSWORD}"
sh "docker push ${env.NEXUS_SERVER}:${env.NEXUS_PORT_MAIN}/${env.NEXUS_REPO_MAIN}:${shortCommit}"
} }
} }
} }