diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..5d9d31ef --- /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 index 16f0de56..5c933036 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,12 +1,13 @@ pipeline { - agent { - docker { - image 'maven:3.6.3-jdk-11-slim' - } - - } + agent none stages { stage('build') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { echo 'Compiling the code for sysfoo app' sh 'mvn compile' @@ -14,6 +15,12 @@ pipeline { } stage('Test') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } steps { echo 'Clean test with unit test for sysfoo' sh 'mvn clean test' @@ -23,6 +30,12 @@ pipeline { stage('Package') { parallel { stage('Package') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } when { branch 'master' } @@ -33,20 +46,24 @@ pipeline { } stage('TestA') { + agent any steps { sleep(time: 5, unit: 'SECONDS') + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def dockerImage = docker.build("nandini176/sysfoo:v${env.BUILD_ID}", "./") + dockerImage.push() + dockerImage.push("latest") + dockerImage.push("dev") + } + } + } } } } - stage('TestB') { - steps { - sleep 3 - } - } - } post { always {