diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..1d02990e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM maven:3.6.3-jdk-11-slim as build +WORKDIR /opt/demo +COPY . /opt/demo +RUN mvn package -D skipTests +FROM tomcat 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..1cf6ab6b --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,75 @@ +pipeline { + agent any + 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') { + agent { + docker { + image 'maven:3.6.3-jdk-11-slim' + } + + } + steps { + echo 'package maven app' + sh 'mvn package -DskipTests' + archiveArtifacts 'target/*.war' + } + } + + stage('Docker BnP') { + agent any + steps { + script { + docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { + def dockerImage = docker.build("rapoplai/sysfoo:v${env.BUILD_ID}", "./") + dockerImage.push() + dockerImage.push("latest") + dockerImage.push("dev") + } + } + + } + } + + stage('Deploy to Dev') { + when { + beforeAgent true + branch 'master' + } + agent any + steps { + echo 'Deploying to Dev Environment with Docker Compose' + sh 'docker-compose up -d' + } + } + + } + tools { + maven 'Maven 3.6.3' + } +} diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 00000000..9bd2d2c0 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,6 @@ +version: "3.8" +services: + sysfoo: + image: rapoplai/sysfoo:latest + ports: + - 8888:8080 diff --git a/test.md b/test.md new file mode 100644 index 00000000..2c2a3257 --- /dev/null +++ b/test.md @@ -0,0 +1,4 @@ +Example App +========= + +This is a sample app.