diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..ad262a19 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM maven:3.6.3-jdk-11-slim as build +WORKDIR /opt/demo +COPY . /opt/demo +RUN mvn package -DskipTests + +FROM tomcat:jre8-openjdk-slim-buster as run +WORKDIR /usr/local/tomcat +COPY --from=build /opt/demo/target/sysfoo.war webapps/ROOT.war diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..4e1256cd --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,87 @@ +pipeline { + agent none + stages { + stage('build') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } + steps { + echo 'compile maven app' + sh 'mvn compile' + } + } + + stage('test') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } + steps { + echo 'Test maven app' + sh 'mvn clean test' + } + } + + stage('package') { + when { + branch 'master' + } + parallel { + stage('package') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } + steps { + echo 'package maven app' + sh 'mvn package -DskipTests' + archiveArtifacts 'target/*war' + } + } + + stage('Docker B&P2') { + agent any + steps { + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def dockerImage = docker.build("letmeplay/sysfoo:v${env.BUILD_ID}", "./") + dockerImage.push() + dockerImage.push("latest") + dockerImage.push("dev") + } + } + + } + } + + } + } + + stage('deployToDev') { + when { + branch 'master' + } + agent any + steps { + sh 'docker-compose up -d' + } + } + + } + tools { + maven 'Maven 3.6.3' + } + post { + always { + echo 'This pipeline is completed..' + } + + } +} diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 00000000..5f2c90c0 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,7 @@ +version: "3.8" + +services: + sysfoo: + image: letmeplay/sysfoo:dev + ports: + - 8888:8080 diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index f441d8d6..fe98ff42 100755 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -7,7 +7,7 @@ Sysfoo Demo App by School of Devops - +