From 093e73e84d8fa9b7950f1850f46bd7f2a6d8ea79 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 03:14:28 +0000 Subject: [PATCH 01/19] Add Jenkinsfile for CI/CD pipeline --- Jenkinsfile | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..a0286f1 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,32 @@ +pipeline { + agent any + + environment { + DOCKER_HUB_CREDENTIALS = credentials('johnsonbv-creds-id') + IMAGE_NAME = "johnsonbv/java-web-calculator" + } + + stages { + stage('Build') { + steps { + sh './mvn clean package' + } + } + + stage('Build Docker Image') { + steps { + sh 'docker build -t $IMAGE_NAME .' + } + } + + stage('Push to Docker Hub') { + steps { + withCredentials([usernamePassword(credentialsId: 'johnsonbv-creds-id', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + sh 'echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin' + sh 'docker push $IMAGE_NAME' + } + } + } + } +} + From ab1c1b1ffdb2c94b5a827f65f3726127034cb698 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 03:20:59 +0000 Subject: [PATCH 02/19] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a0286f1..6dc151c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,7 +9,7 @@ pipeline { stages { stage('Build') { steps { - sh './mvn clean package' + sh './mvnw clean package' } } From 87993c78d347e15af1292dc0064f60e35d56b15c Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 04:31:59 +0000 Subject: [PATCH 03/19] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6dc151c..a0286f1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,7 +9,7 @@ pipeline { stages { stage('Build') { steps { - sh './mvnw clean package' + sh './mvn clean package' } } From eb1f686efbe41eb1ef36b1af87b4e12e1e6f34e0 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 04:36:32 +0000 Subject: [PATCH 04/19] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a0286f1..4b886e6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,7 +9,7 @@ pipeline { stages { stage('Build') { steps { - sh './mvn clean package' + sh 'mvn clean package' } } From 75093f288538dd7c2b7513fe29c84c1d6f8c4aa3 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 04:46:00 +0000 Subject: [PATCH 05/19] update pom.xml file --- pom.xml | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 9e1759e..995c591 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,7 @@ - + 4.0.0 com.web.cal WebAppCal @@ -14,17 +16,29 @@ 4.8.2 test - - - javax.servlet - servlet-api - 2.5 - - - - - releases - http://52.204.135.48:8081/nexus/content/repositories/releases - - + + javax.servlet + servlet-api + 2.5 + provided + + + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + From e001fbc6d070735978100fe0ff4d1d63c36be830 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 04:49:50 +0000 Subject: [PATCH 06/19] update Jenkinsfile --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4b886e6..eacdebe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { stage('Build Docker Image') { steps { - sh 'docker build -t $IMAGE_NAME .' + sh 'sudo docker build -t $IMAGE_NAME .' } } @@ -23,7 +23,7 @@ pipeline { steps { withCredentials([usernamePassword(credentialsId: 'johnsonbv-creds-id', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { sh 'echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin' - sh 'docker push $IMAGE_NAME' + sh 'sudo docker push $IMAGE_NAME' } } } From 0ba5e14a227623cc3673f3fd86580b8bb68f902f Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 04:58:16 +0000 Subject: [PATCH 07/19] Jenkinsfile update --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index eacdebe..4b886e6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { stage('Build Docker Image') { steps { - sh 'sudo docker build -t $IMAGE_NAME .' + sh 'docker build -t $IMAGE_NAME .' } } @@ -23,7 +23,7 @@ pipeline { steps { withCredentials([usernamePassword(credentialsId: 'johnsonbv-creds-id', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { sh 'echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin' - sh 'sudo docker push $IMAGE_NAME' + sh 'docker push $IMAGE_NAME' } } } From a88d38d3af321b267d3cdf1e295e50c008968d4f Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 07:10:49 +0000 Subject: [PATCH 08/19] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4b886e6..3b1e645 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { stage('Build Docker Image') { steps { - sh 'docker build -t $IMAGE_NAME .' + sh '/usr/bin/docker docker build -t $IMAGE_NAME .' } } From 1062af0a848a6bbd04bee3a3a2f9002b00840f64 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 07:16:17 +0000 Subject: [PATCH 09/19] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3b1e645..2522413 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { stage('Build Docker Image') { steps { - sh '/usr/bin/docker docker build -t $IMAGE_NAME .' + sh '/usr/bin/docker build -t $IMAGE_NAME .' } } From 226dca0031ac9ec7737b6757ff4d2971318e8073 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 07:35:21 +0000 Subject: [PATCH 10/19] update Jenkinsfile --- Jenkinsfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 2522413..a10ba69 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -13,6 +13,13 @@ pipeline { } } + stages { + stage('Checkout') { + steps { + git 'https://github.com/JohnsonBV/JavaWeb3.git' + } + } + stage('Build Docker Image') { steps { sh '/usr/bin/docker build -t $IMAGE_NAME .' From d45da56f2272e263bca09ff92b9b6ff763aed27a Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 07:45:58 +0000 Subject: [PATCH 11/19] update Jenkinsfile --- Jenkinsfile | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index a10ba69..df3e4c2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,17 +2,10 @@ pipeline { agent any environment { - DOCKER_HUB_CREDENTIALS = credentials('johnsonbv-creds-id') - IMAGE_NAME = "johnsonbv/java-web-calculator" + DOCKER_IMAGE = 'johnsonbv/java-web-calculator' + DOCKER_CREDENTIALS_ID = 'johnsonbv-creds-id' } - stages { - stage('Build') { - steps { - sh 'mvn clean package' - } - } - stages { stage('Checkout') { steps { @@ -22,15 +15,17 @@ pipeline { stage('Build Docker Image') { steps { - sh '/usr/bin/docker build -t $IMAGE_NAME .' + sh 'docker build -t $DOCKER_IMAGE .' } } stage('Push to Docker Hub') { steps { - withCredentials([usernamePassword(credentialsId: 'johnsonbv-creds-id', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { - sh 'echo $DOCKER_PASS | docker login -u $DOCKER_USER --password-stdin' - sh 'docker push $IMAGE_NAME' + withCredentials([usernamePassword(credentialsId: env.DOCKER_CREDENTIALS_ID, usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + sh ''' + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + docker push $DOCKER_IMAGE + ''' } } } From eed08e369cb0ff8735d1f9455b38c5891abcab99 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 07:56:01 +0000 Subject: [PATCH 12/19] update Jenkinsfile --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index df3e4c2..5032e25 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { stage('Build Docker Image') { steps { - sh 'docker build -t $DOCKER_IMAGE .' + sh '/usr/bin/docker build -t $DOCKER_IMAGE .' } } @@ -23,8 +23,8 @@ pipeline { steps { withCredentials([usernamePassword(credentialsId: env.DOCKER_CREDENTIALS_ID, usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { sh ''' - echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - docker push $DOCKER_IMAGE + echo "$DOCKER_PASS" | /usr/bin/docker login -u "$DOCKER_USER" --password-stdin + /usr/bin/docker push $DOCKER_IMAGE ''' } } From 05be732a08029179de0936f2a1628cebce88add8 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 08:10:57 +0000 Subject: [PATCH 13/19] update Jenkinsfile --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5032e25..df3e4c2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { stage('Build Docker Image') { steps { - sh '/usr/bin/docker build -t $DOCKER_IMAGE .' + sh 'docker build -t $DOCKER_IMAGE .' } } @@ -23,8 +23,8 @@ pipeline { steps { withCredentials([usernamePassword(credentialsId: env.DOCKER_CREDENTIALS_ID, usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { sh ''' - echo "$DOCKER_PASS" | /usr/bin/docker login -u "$DOCKER_USER" --password-stdin - /usr/bin/docker push $DOCKER_IMAGE + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + docker push $DOCKER_IMAGE ''' } } From 5666452afd6d3c5f829c6667802ad64deda41f3e Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 08:24:05 +0000 Subject: [PATCH 14/19] update Jenkinsfile --- Jenkinsfile | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index df3e4c2..6af1b0c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,29 +2,30 @@ pipeline { agent any environment { - DOCKER_IMAGE = 'johnsonbv/java-web-calculator' - DOCKER_CREDENTIALS_ID = 'johnsonbv-creds-id' + DOCKERHUB_CREDENTIALS = credentials('johnsonbv-creds-id') } stages { - stage('Checkout') { + stage('Debug PATH') { steps { - git 'https://github.com/JohnsonBV/JavaWeb3.git' + sh 'echo Current PATH: $PATH' + sh 'which docker' + sh 'docker --version || echo "Docker not found"' } } stage('Build Docker Image') { steps { - sh 'docker build -t $DOCKER_IMAGE .' + sh 'docker build -t johnsonbv/java-web-calculator .' } } stage('Push to Docker Hub') { steps { - withCredentials([usernamePassword(credentialsId: env.DOCKER_CREDENTIALS_ID, usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + withCredentials([usernamePassword(credentialsId: 'johnsonbv-creds-id', passwordVariable: 'DOCKER_PASSWORD', usernameVariable: 'DOCKER_USERNAME')]) { sh ''' - echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - docker push $DOCKER_IMAGE + echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin + docker push johnsonbv/java-web-calculator ''' } } From e3ee7d8934ffa2728f9ea96d3097066155bf9f9a Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 08:32:35 +0000 Subject: [PATCH 15/19] update Jenkinsfile --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 6af1b0c..427603e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,6 +2,7 @@ pipeline { agent any environment { + PATH = "usr/bin:$PATH" DOCKERHUB_CREDENTIALS = credentials('johnsonbv-creds-id') } From a431a10123dc4c13f6696d1ae0887ad0694fa750 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 08:42:03 +0000 Subject: [PATCH 16/19] update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 427603e..cbfe2d3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,7 +2,7 @@ pipeline { agent any environment { - PATH = "usr/bin:$PATH" + PATH = "/usr/bin:$PATH" DOCKERHUB_CREDENTIALS = credentials('johnsonbv-creds-id') } From 11d833a5f5f5b24e3d5c0483dc3ba50bb3014188 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 23:21:18 +0000 Subject: [PATCH 17/19] Add Dockerfile for Jenkins build --- Dockerfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..08942b8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# Use an official Java runtime as a parent image +FROM tomcat:9-jdk11-openjdk-slim + +# Set the working directory +WORKDIR /usr/local/tomcat/webapps/ + +# Copy the WAR file into the container +COPY target/WebAppCal-0.0.6.war /usr/local/tomcat/webapps/ROOT.war + +# Expose the port +EXPOSE 8080 + +# Start Tomcat +CMD ["catalina.sh", "run"] + + From 9f3b7b5fec6f9a9cedfb80231f3105aa5d4bc413 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 23:35:07 +0000 Subject: [PATCH 18/19] update Jenkinsfile --- Jenkinsfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index cbfe2d3..bb394b9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,6 +15,13 @@ pipeline { } } + stages { + stage('Build') { + steps { + sh 'mvn clean package' + } + } + stage('Build Docker Image') { steps { sh 'docker build -t johnsonbv/java-web-calculator .' From 9e8fcab4770aaa73258467d039251b3d7bd6445f Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Sun, 4 May 2025 23:49:25 +0000 Subject: [PATCH 19/19] update Jenkinsfile --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bb394b9..6997a08 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,6 @@ pipeline { } } - stages { stage('Build') { steps { sh 'mvn clean package'