From 99ab67fc98fba8f2330bbf71d45c701ea173fbb8 Mon Sep 17 00:00:00 2001 From: Yodhagk Date: Tue, 1 Apr 2025 14:18:29 +0530 Subject: [PATCH 1/4] Jenkfiles --- register-app/Dockerfile | 4 + register-app/Jenkinfile | 28 +++ register-app/README.md | 3 + register-app/pom.xml | 227 ++++++++++++++++++ register-app/regapp-deploy.yml | 29 +++ register-app/regapp-service.yml | 15 ++ register-app/server/pom.xml | 48 ++++ .../src/main/java/com/example/Greeter.java | 19 ++ register-app/server/src/site/apt/index.apt | 3 + .../test/java/com/example/TestGreeter.java | 33 +++ register-app/webapp/pom.xml | 44 ++++ .../webapp/src/main/webapp/WEB-INF/web.xml | 17 ++ register-app/webapp/src/main/webapp/index.jsp | 37 +++ 13 files changed, 507 insertions(+) create mode 100644 register-app/Dockerfile create mode 100644 register-app/Jenkinfile create mode 100644 register-app/README.md create mode 100644 register-app/pom.xml create mode 100644 register-app/regapp-deploy.yml create mode 100644 register-app/regapp-service.yml create mode 100644 register-app/server/pom.xml create mode 100644 register-app/server/src/main/java/com/example/Greeter.java create mode 100644 register-app/server/src/site/apt/index.apt create mode 100644 register-app/server/src/test/java/com/example/TestGreeter.java create mode 100644 register-app/webapp/pom.xml create mode 100644 register-app/webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 register-app/webapp/src/main/webapp/index.jsp diff --git a/register-app/Dockerfile b/register-app/Dockerfile new file mode 100644 index 00000000..70b595e3 --- /dev/null +++ b/register-app/Dockerfile @@ -0,0 +1,4 @@ +FROM tomcat:latest +RUN cp -R /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps +COPY ./*.war /usr/local/tomcat/webapps + diff --git a/register-app/Jenkinfile b/register-app/Jenkinfile new file mode 100644 index 00000000..738e6415 --- /dev/null +++ b/register-app/Jenkinfile @@ -0,0 +1,28 @@ +pipeline { + agent {label 'Jenkins-Agent'} + tools { + jdk 'java 17' + maven 'Maven3' + } + stages { + stage ("Cleanup Workspace") { + steps { + cleanWs() + } + } + + stage ("Checkout From SCM"){ + steps { + git branch: 'main',credentialsId: 'github',url: 'https://github.com/Yodhagk/registration-app.git' + } + } + stage("Build Application") { + steps{ + sh "mvn clean package" + } + } + + + } + +} \ No newline at end of file diff --git a/register-app/README.md b/register-app/README.md new file mode 100644 index 00000000..abd506ae --- /dev/null +++ b/register-app/README.md @@ -0,0 +1,3 @@ +registration-app +
+Test33 diff --git a/register-app/pom.xml b/register-app/pom.xml new file mode 100644 index 00000000..187d2a36 --- /dev/null +++ b/register-app/pom.xml @@ -0,0 +1,227 @@ + + + 4.0.0 + + com.example.maven-project + maven-project + pom + 1.0-SNAPSHOT + Maven Project + Sample Maven project with a working, deployable site. + http://www.example.com + + + utf-8 + utf-8 + + + + server + webapp + + + + + site-server + Test Project Site + file:///tmp/maven-project-site + + + + + + + maven-compiler-plugin + + 1.7 + 1.7 + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + false + + + + maven-release-plugin + + true + + + + + maven-site-plugin + + + + maven-checkstyle-plugin + + + + maven-jxr-plugin + + + + maven-javadoc-plugin + + + + maven-pmd-plugin + + + + maven-surefire-report-plugin + + + + org.codehaus.mojo + findbugs-maven-plugin + + + + org.codehaus.mojo + taglist-maven-plugin + + + + + + + + + + maven-checkstyle-plugin + 2.8 + + + + maven-compiler-plugin + 2.3.2 + + + + maven-javadoc-plugin + 2.8 + + + + maven-jxr-plugin + 2.3 + + + + maven-pmd-plugin + 2.6 + + + + maven-project-info-reports-plugin + 2.4 + + + + maven-release-plugin + 2.2.1 + + + + maven-resources-plugin + 2.5 + + + + maven-site-plugin + 3.0 + + + + maven-surefire-report-plugin + 2.11 + + + + maven-surefire-plugin + 2.11 + + + + org.codehaus.mojo + findbugs-maven-plugin + 2.3.3 + + + + org.codehaus.mojo + taglist-maven-plugin + 2.4 + + + + org.mortbay.jetty + jetty-maven-plugin + 8.0.0.M1 + + + + + + + + + javax.servlet + servlet-api + 2.5 + + + + javax.servlet.jsp + jsp-api + 2.2 + + + + junit + junit-dep + 4.10 + test + + + + org.hamcrest + hamcrest-core + 1.2.1 + test + + + + org.hamcrest + hamcrest-library + 1.2.1 + test + + + + org.mockito + mockito-core + 1.8.5 + test + + + + + + scm:git:git@github.com:jleetutorial/maven-project.git + scm:git:git@github.com:jleetutorial/maven-project.git + HEAD + http://github.com/jleetutorial/maven-project + + + + 3.0.3 + + + diff --git a/register-app/regapp-deploy.yml b/register-app/regapp-deploy.yml new file mode 100644 index 00000000..547997cc --- /dev/null +++ b/register-app/regapp-deploy.yml @@ -0,0 +1,29 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: regapp-deployment + labels: + app: regapp + +spec: + replicas: 2 + selector: + matchLabels: + app: regapp + + template: + metadata: + labels: + app: regapp + spec: + containers: + - name: regapp + image: ashfaque9x/regapp + imagePullPolicy: Always + ports: + - containerPort: 8080 + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 diff --git a/register-app/regapp-service.yml b/register-app/regapp-service.yml new file mode 100644 index 00000000..0e4d7546 --- /dev/null +++ b/register-app/regapp-service.yml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: regapp-service + labels: + app: regapp +spec: + selector: + app: regapp + + ports: + - port: 8080 + targetPort: 8080 + + type: LoadBalancer diff --git a/register-app/server/pom.xml b/register-app/server/pom.xml new file mode 100644 index 00000000..990ffd7d --- /dev/null +++ b/register-app/server/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + + com.example.maven-project + maven-project + 1.0-SNAPSHOT + ../pom.xml + + + server + jar + Server + Logic. + + + ${project.artifactId} + + + + + junit + junit-dep + test + + + + org.hamcrest + hamcrest-core + test + + + + org.hamcrest + hamcrest-library + test + + + + org.mockito + mockito-core + test + + + + diff --git a/register-app/server/src/main/java/com/example/Greeter.java b/register-app/server/src/main/java/com/example/Greeter.java new file mode 100644 index 00000000..fa26bc76 --- /dev/null +++ b/register-app/server/src/main/java/com/example/Greeter.java @@ -0,0 +1,19 @@ +package com.example; + +/** + * This is a class. + */ +public class Greeter { + + /** + * This is a constructor. + */ + public Greeter() { + + } + + //TODO: Add javadoc comment + public String greet(String someone) { + return String.format("Hello, %s!", someone); + } +} diff --git a/register-app/server/src/site/apt/index.apt b/register-app/server/src/site/apt/index.apt new file mode 100644 index 00000000..c15955ea --- /dev/null +++ b/register-app/server/src/site/apt/index.apt @@ -0,0 +1,3 @@ +Headline + + Content diff --git a/register-app/server/src/test/java/com/example/TestGreeter.java b/register-app/server/src/test/java/com/example/TestGreeter.java new file mode 100644 index 00000000..46c9b537 --- /dev/null +++ b/register-app/server/src/test/java/com/example/TestGreeter.java @@ -0,0 +1,33 @@ +package com.example; + +import org.junit.Before; +import org.junit.Test; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.greaterThan; +import static org.junit.Assert.assertThat; +import static org.junit.matchers.JUnitMatchers.containsString; + +public class TestGreeter { + + private Greeter greeter; + + @Before + public void setup() { + greeter = new Greeter(); + } + + @Test + public void greetShouldIncludeTheOneBeingGreeted() { + String someone = "World"; + + assertThat(greeter.greet(someone), containsString(someone)); + } + + @Test + public void greetShouldIncludeGreetingPhrase() { + String someone = "World"; + + assertThat(greeter.greet(someone).length(), is(greaterThan(someone.length()))); + } +} diff --git a/register-app/webapp/pom.xml b/register-app/webapp/pom.xml new file mode 100644 index 00000000..7a46c58d --- /dev/null +++ b/register-app/webapp/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + + com.example.maven-project + maven-project + 1.0-SNAPSHOT + ../pom.xml + + + webapp + war + Webapp + Webapp. + + + ${project.artifactId} + + + + org.mortbay.jetty + jetty-maven-plugin + + + + + + + + javax.servlet + servlet-api + provided + + + + javax.servlet.jsp + jsp-api + provided + + + + diff --git a/register-app/webapp/src/main/webapp/WEB-INF/web.xml b/register-app/webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 00000000..854e4754 --- /dev/null +++ b/register-app/webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,17 @@ + + + Webapp + + diff --git a/register-app/webapp/src/main/webapp/index.jsp b/register-app/webapp/src/main/webapp/index.jsp new file mode 100644 index 00000000..4eab1a69 --- /dev/null +++ b/register-app/webapp/src/main/webapp/index.jsp @@ -0,0 +1,37 @@ +
+
+

New user Register for DevOps Learning at Virtual TechBox Youtube Channel

+

Please fill in this form to create an account.

+
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+

By creating an account you agree to our Terms & Privacy.

+ +
+ + +

Thank You, Happy Learning

+

See You Again

+ +
From f4cd9aed57753af19a7e9f307a016ce9112571a5 Mon Sep 17 00:00:00 2001 From: Yodhagk <83080994+Yodhagk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:45:34 +0530 Subject: [PATCH 2/4] Add files via upload --- Jenkinsfile | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..1a93758a --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,28 @@ +pipeline { + agent {label 'Jenkins-Agent'} + tools { + jdk 'java 17' + maven 'Maven3' + } + stages { + stage ("Cleanup Workspace") { + steps { + cleanWs() + } + } + + stage ("Checkout From SCM"){ + steps { + git branch: 'main',credentialsId: 'github',url: 'https://github.com/Yodhagk/registration-app.git' + } + } + stage("Build Application") { + steps{ + sh "mvn clean package" + } + } + + + } + +} \ No newline at end of file From 8a812f5888c2746f6d490ace9903ba31e2e6edbb Mon Sep 17 00:00:00 2001 From: Yodhagk <83080994+Yodhagk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:47:52 +0530 Subject: [PATCH 3/4] Update Jenkinsfile java17 updated --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1a93758a..99c810f1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,7 +1,7 @@ pipeline { agent {label 'Jenkins-Agent'} tools { - jdk 'java 17' + jdk 'java17' maven 'Maven3' } stages { @@ -25,4 +25,4 @@ pipeline { } -} \ No newline at end of file +} From 028e2a6b6404ab106517c2f6c73f30519bd08446 Mon Sep 17 00:00:00 2001 From: Yodhagk <83080994+Yodhagk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:49:30 +0530 Subject: [PATCH 4/4] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 99c810f1..3eafda93 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,5 @@ pipeline { - agent {label 'Jenkins-Agent'} + agent {label 'agent'} tools { jdk 'java17' maven 'Maven3'