Edit Jenkinsfile

This commit is contained in:
Viktoriia Karpenko 2024-12-18 15:05:35 +02:00
parent 6bf56b2be3
commit bc7b67fdae

25
Jenkinsfile vendored
View file

@ -4,33 +4,50 @@ pipeline {
environment { environment {
GIT_COMMIT = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() GIT_COMMIT = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
DOCKER_CREDS = credentials('docker_key') DOCKER_CREDS = credentials('docker_key')
DOCKER_REPO = ''
} }
stages { stages {
stage('Set Docker Repository') {
steps {
script {
if (env.BRANCH_NAME == 'main') {
DOCKER_REPO = 'vkarpenko02/main'
} else {
DOCKER_REPO = 'vkarpenko02/mr'
}
}
}
}
stage('Checkstyle') { stage('Checkstyle') {
when { not { branch 'main' } } // Only for MR pipelines
steps { steps {
sh 'mvn checkstyle:checkstyle' sh 'mvn checkstyle:checkstyle'
archiveArtifacts artifacts: 'target/checkstyle-report.xml', allowEmptyArchive: true archiveArtifacts artifacts: 'target/site/checkstyle.html', allowEmptyArchive: true
} }
} }
stage('Test') { stage('Test') {
steps { steps {
sh 'mvn test' sh 'mvn test'
} }
} }
stage('Build') { stage('Build') {
steps { steps {
sh 'mvn clean package -DskipTests' sh 'mvn clean package -DskipTests'
archiveArtifacts artifacts: 'target/*.jar', allowEmptyArchive: false archiveArtifacts artifacts: 'target/*.jar', allowEmptyArchive: false
} }
} }
stage ('Creating Docker image') {
stage('Create Docker Image') {
steps { steps {
sh 'docker build -t vkarpenko02/mr:${GIT_COMMIT} .' sh 'docker build -t ${DOCKER_REPO}:${GIT_COMMIT} .'
withCredentials([usernamePassword(credentialsId: 'docker_key', usernameVariable: 'DOCKER_HUB_USER', passwordVariable: 'DOCKER_HUB_PASS')]) { withCredentials([usernamePassword(credentialsId: 'docker_key', usernameVariable: 'DOCKER_HUB_USER', passwordVariable: 'DOCKER_HUB_PASS')]) {
sh """ sh """
echo ${DOCKER_HUB_PASS} | docker login -u ${DOCKER_HUB_USER} --password-stdin echo ${DOCKER_HUB_PASS} | docker login -u ${DOCKER_HUB_USER} --password-stdin
docker push vkarpenko02/mr:${GIT_COMMIT} docker push ${DOCKER_REPO}:${GIT_COMMIT}
""" """
} }
} }