From f8ffeb728cdfe3885a3f17c59b82d0c6c0fd4715 Mon Sep 17 00:00:00 2001 From: Milan Petrovic <5rovicmilan8@gmail.com> Date: Wed, 11 Jun 2025 11:09:47 +0200 Subject: [PATCH 1/7] Dockerfile --- Dockerfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..bc78cea05 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM eclipse-temurin:21-jdk-alpine AS builder + +WORKDIR /source + +COPY gradlew . +COPY build.gradle . +COPY settings.gradle . +COPY gradle ./gradle +RUN chmod 500 gradlew + +RUN ./gradlew dependencies --info --no-daemon + +COPY . . +RUN ./gradlew build --no-daemon -x test + +FROM eclipse-temurin:21-jre-alpine +WORKDIR /app +COPY --from=builder /source/build/libs/*.jar app.jar +EXPOSE 8080 +ENTRYPOINT ["java", "-jar", "app.jar"] From e31eb8b5f61f97d5f7de1ac760de1aba4a021ebb Mon Sep 17 00:00:00 2001 From: m1kkY8 <112260377+m1kkY8@users.noreply.github.com> Date: Wed, 11 Jun 2025 12:25:08 +0200 Subject: [PATCH 2/7] checkStyle --- Jenkinsfile | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..d103665a0 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,11 @@ +pipeline { + agent any + stages { + stage('checkStyle') { + steps { + sh './gradlew checkstyleMain' + } + } + + } +} \ No newline at end of file From 6a485a711a16cf3507e2ec9a115e85698ee229ca Mon Sep 17 00:00:00 2001 From: Milan Petrovic <5rovicmilan8@gmail.com> Date: Wed, 11 Jun 2025 12:54:11 +0200 Subject: [PATCH 3/7] added more steps in pipeline --- Jenkinsfile | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d103665a0..7b46bc17c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,11 +1,30 @@ pipeline { agent any + + environment { + GIT_COMMIT_SHORT = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim() + DOCKER_HUB_USER = "m1kkY8" + } + stages { stage('checkStyle') { + when { not {branch 'main' }} steps { sh './gradlew checkstyleMain' } } + stage('Test') { + when { not {branch 'main' }} + steps { + sh './gradlew test' + } + } + + stage('Build') { + steps { + sh './gradlew build -x test' + } + } } -} \ No newline at end of file +} From fda33aa26129d334f8052e91cccad50fdb386a4f Mon Sep 17 00:00:00 2001 From: Milan Petrovic <5rovicmilan8@gmail.com> Date: Wed, 11 Jun 2025 13:54:12 +0200 Subject: [PATCH 4/7] branch --- Jenkinsfile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7b46bc17c..cafd8e653 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,7 +3,9 @@ pipeline { environment { GIT_COMMIT_SHORT = sh(script: "git rev-parse --short HEAD", returnStdout: true).trim() - DOCKER_HUB_USER = "m1kkY8" + DOCKER_HUB_USER = "m1kky8" + DOCKRHUB_CREDS = "580b959d-d40a-422f-a3d7-cf11b2ec7a4c" + } stages { @@ -23,7 +25,12 @@ pipeline { stage('Build') { steps { - sh './gradlew build -x test' + script { + def branch = env.BRANCH_NAME + sh """ + echo $BRANCH_NAME + """ + } } } } From 59743758cd2c6feb1160dd42d9366fdc61fc4062 Mon Sep 17 00:00:00 2001 From: Milan Petrovic <5rovicmilan8@gmail.com> Date: Wed, 11 Jun 2025 13:59:20 +0200 Subject: [PATCH 5/7] Build stage --- Jenkinsfile | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cafd8e653..86d678983 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,9 +27,19 @@ pipeline { steps { script { def branch = env.BRANCH_NAME - sh """ - echo $BRANCH_NAME - """ + def dockerRepo = (branch == 'main') ? 'main' : 'mr' + def imageTag = "${DOCKER_HUB_USER}/${repo}:${GIT_COMMIT_SHORT}" + + withCredentials([usernamePassword( + credentialsId: DOCKERHUB_CREDES, + usernameVariable: 'DOCKER_USER', + passwordVariable: 'DOCKER_PASS' + )]) { + echo "Logging in to Docker Hub..." + sh "echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin" + echo "Pushing Docker image to ${imageTag}" + sh "docker push ${imageTag}" + } } } } From 271de8f3954a0a09f8fe98ab79a431589a48c509 Mon Sep 17 00:00:00 2001 From: Milan Petrovic <5rovicmilan8@gmail.com> Date: Wed, 11 Jun 2025 14:01:38 +0200 Subject: [PATCH 6/7] renamed project --- settings.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle b/settings.gradle index e60ee14fa..3ef2880e6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -rootProject.name = 'spring-petclinic' +rootProject.name = 'my-petclinic' From 9b262d3511c126403e895e628e94b7bd5f9aca7a Mon Sep 17 00:00:00 2001 From: Milan Petrovic <5rovicmilan8@gmail.com> Date: Wed, 11 Jun 2025 14:08:39 +0200 Subject: [PATCH 7/7] fixed typo here too --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 86d678983..b956d5529 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -28,10 +28,10 @@ pipeline { script { def branch = env.BRANCH_NAME def dockerRepo = (branch == 'main') ? 'main' : 'mr' - def imageTag = "${DOCKER_HUB_USER}/${repo}:${GIT_COMMIT_SHORT}" + def imageTag = "${DOCKER_HUB_USER}/${dockerRepo}:${GIT_COMMIT_SHORT}" withCredentials([usernamePassword( - credentialsId: DOCKERHUB_CREDES, + credentialsId: DOCKERHUB_CREDS, usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS' )]) {