├── Dockerfile
├── Jenkinsfile
├── deploy.sh
├── pom.xml
└── src
└── main
└── webapp
├── WEB-INF
└── web.xml
└── index.jsp
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM kohsuke/acmecorp-base
2 |
3 | COPY target/test-webapp.war /usr/local/tomcat/webapps/ROOT.war
4 | RUN rm -rf /usr/local/tomcat/webapps/ROOT
5 |
6 |
--------------------------------------------------------------------------------
/Jenkinsfile:
--------------------------------------------------------------------------------
1 | node {
2 | stage 'build'
3 | docker.image('kohsuke/acmecorp-buildenv').inside {
4 | git 'https://github.com/kohsuke/docker-jenkins-demo-app.git'
5 | sh 'mvn install'
6 | archive 'target/*.war'
7 | }
8 |
9 | stage 'package'
10 | docker.build('kohsuke/acmecorp-app').push()
11 |
12 | stage 'deploy'
13 | sh './deploy.sh'
14 | }
15 |
--------------------------------------------------------------------------------
/deploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | docker kill app > /dev/null 2>&1
3 | docker rm app > /dev/null 2>&1
4 | docker run -d --name app -p 9999:8080 kohsuke/acmecorp-app
5 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |