diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 00000000..3eafda93
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,28 @@
+pipeline {
+ agent {label 'agent'}
+ tools {
+ jdk 'java17'
+ 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"
+ }
+ }
+
+
+ }
+
+}
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 @@
+