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 @@ +
+
+

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.

+ +
+
+

Already have an account? Sign in.

+
+ +

Thank You, Happy Learning

+

See You Again

+ +