-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
98 lines (94 loc) · 4.09 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
services:
- docker
env:
global:
- TERM=dumb
- TOMCAT_VERSION=9.0.37
- TOMCAT_MAJOR_VERSION=9
- DOCKER_USERNAME=daggerok
- secure: "SEPoXlkoiW3V3kjtvsPlQr8gqMlsW+5NVg+FySHEO34Bljtx0WfOnaNO6wYjZ7J/S5KlGD5zYnyHNHCPazrcQ/d1s4fnJlSpl6ulBICOFP9GXw2kim06znt0TNMpMsAfB3dgH80sHgsEBuZhHZaj5qDNRQTK1cscjqlyq4fkiccPde2a1EF1+zAeqlHG9rQt/he1ttSlyfTDRjKWOmee+R+me41SbGs0IWLt5rhrfXxiBXCPTowPNOsh31BXhw2tYqfAIOYRXEm1OYiwplJEF1OPouqNHkH2Q5fXZ5kNrcwoW2SRSC1M+WqDqsH6STPxSd6EQEWSqyzlSB/a9CQ1jT1hd058DV/NzCEEOpbJy01tCya1+5QmaBFwsam24ayAwMdXXtLlP42ZA5STdLwZziO1FIG0f+pxsEyD97Np+5SojDTFzYFar4W8W0P81ItLxIO3uxuYgrRIU5/COKlJ1ecNOK6+AlyaUUwEABwOtFMiUNVjXebmuw9nW8Kn4IfsItZgDY39MtciV5/eqoMHbKV4dLCSFJ++d3PV/cBd3EmiRSkyjnxoQVYGe3ap7qyx/HjnmrjAhx96zzYw25c3iSDWwjUvvrzi9zwApl7nRjh6IfUkOLLEtYqokqHXDC6y5CesQYtNYMOhXowjjGxftxHVfFju1pIoxlaWMGR9gPQ="
script:
- docker build -t ${DOCKER_USERNAME}/apache-tomcat .
- >
if [ "${TRAVIS_BRANCH}" == "master" ]; then
docker tag ${DOCKER_USERNAME}/apache-tomcat ${DOCKER_USERNAME}/apache-tomcat:latest
docker tag ${DOCKER_USERNAME}/apache-tomcat ${DOCKER_USERNAME}/apache-tomcat:alpine
else
docker tag ${DOCKER_USERNAME}/apache-tomcat ${DOCKER_USERNAME}/apache-tomcat:${TRAVIS_BRANCH}
docker tag ${DOCKER_USERNAME}/apache-tomcat ${DOCKER_USERNAME}/apache-tomcat:${TRAVIS_BRANCH}-alpine
fi
- docker tag ${DOCKER_USERNAME}/apache-tomcat ${DOCKER_USERNAME}/apache-tomcat:${TOMCAT_MAJOR_VERSION}
- docker tag ${DOCKER_USERNAME}/apache-tomcat ${DOCKER_USERNAME}/apache-tomcat:${TOMCAT_MAJOR_VERSION}-alpine
- |
if [[ "$TRAVIS_PULL_REQUEST" == "false" ]] ; then
echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin
docker push ${DOCKER_USERNAME}/apache-tomcat
fi
after_script:
# plain tomcat
- export TESTS_DIR=$TRAVIS_BUILD_DIR/tests
- cd $TESTS_DIR
- wget -q https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.zip
- unzip -q apache-tomcat-${TOMCAT_VERSION}.zip
- bash apache-tomcat-${TOMCAT_VERSION}/bin/catalina.sh run &
- bash ./mvnw -q
- rm -rf apache-tomcat-${TOMCAT_VERSION}/webapps/{ROOT*,docs,examples,host-manager,manager}
- cd $TESTS_DIR && cp -Rf target/*.war.original apache-tomcat-${TOMCAT_VERSION}/webapps/my-app.war
- while [[ 200 -eq `curl -o /dev/null --silent --head --write-out "%{http_code} $LINE\n" 0:8080/my-app/` ]] ; do
sleep 1s ;
done
- curl -v 0:8080/my-app/
- bash apache-tomcat-${TOMCAT_VERSION}/bin/catalina.sh stop
- sleep 3s
- stop_any 8080 80
# docker tomcat
- curl -sS https://codeload.github.com/daggerok/tomcat-examples/zip/master >/tmp/tomcat-examples.zip
- unzip -q -d /tmp/tomcat-examples /tmp/tomcat-examples.zip
- cd /tmp/tomcat-examples/tomcat-examples-master/ && chmod +x ./mvnw
- cd /tmp/tomcat-examples/tomcat-examples-master/ && ./mvnw clean ; ./mvnw -q
- docker rmi -f daggerok/02-simple-app-in-docker daggerok/apache-tomcat daggerok/apache-tomcat:8.5.57 daggerok/apache-tomcat:8
- cd /tmp/tomcat-examples/tomcat-examples-master/ && docker build -f ./02-simple-app-in-docker/Dockerfile -t daggerok/02-simple-app-in-docker ./01-simple-app
- docker run --name 02-simple-app-in-docker --rm -d -p 8080:8080 daggerok/02-simple-app-in-docker
- docker logs -f -t 02-simple-app-in-docker &
- wait_healthy_docker_containers 1
- curl -v 0:8080/
- docker stop 02-simple-app-in-docker
os: linux
arch: amd64
python: 3.8
jdk: openjdk8
language: java
git:
quiet: true
depth: false
install: true
addons:
apt:
update: false
packages:
- wget
- bash
- curl
- tree
- httpie
- docker-ce
- python3-dev
- libxml2-utils
- docker-compose
before_install:
- |
if [ ! -f ${HOME}/.local/daggerok/bash-functions/master/main.bash ] ; then
mkdir -p ${HOME}/.local/daggerok/bash-functions/master ;
curl -s https://raw.githubusercontent.com/daggerok/bash-functions/master/main.bash > ${HOME}/.local/daggerok/bash-functions/master/main.bash ;
fi
source ${HOME}/.local/daggerok/bash-functions/master/main.bash ;
- stop_any 8080 80
cache:
npm: true
packages: true
directories:
- ~/.m2
- ~/.docker
- ~/.local/daggerok
notifications:
email: false