This repository has been archived by the owner on Mar 6, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
launch.sh
executable file
·96 lines (79 loc) · 2.42 KB
/
launch.sh
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
#!/bin/bash
cd ..
MVN_ARG_LINE=()
for arg in "$@"
do
case "$arg" in
*)
MVN_ARG_LINE+=("$arg")
;;
esac
done
startDateTime=`date +%s`
# check that Maven args are non empty
if [ "$MVN_ARG_LINE" != "" ] ; then
mvnBin="mvn"
if [ -a $M3_HOME/bin/mvn ] ; then
mvnBin="$M3_HOME/bin/mvn"
fi
echo
echo "----> Running maven build on available projects (using Maven binary '$mvnBin')"
"$mvnBin" -v
echo
projects=( "*.org")
for suffix in "${projects[@]}"; do
for repository in $suffix; do
echo
if [ -d "$repository" ]; then
echo "==============================================================================="
echo "$repository"
echo "==============================================================================="
cd $repository
"$mvnBin" -B "${MVN_ARG_LINE[@]}"
returnCode=$?
if [ $returnCode != 0 ] ; then
exit $returnCode
fi
cd ..
fi
done;
done;
endDateTime=`date +%s`
spentSeconds=`expr $endDateTime - $startDateTime`
echo
echo "----> Total build time: ${spentSeconds}s"
else
echo "----> No Maven arguments skipping maven build"
fi
if [[ "$@" =~ "docker" ]]; then
echo "----> Launching the application as docker container..."
docker run -d -p 8090:8090 --name jbpm-bootstrap jbpm/jbpm-bootstrap-service:1.0.0
else
echo "----> Launching the application locally..."
folder="*.org"
cd $folder
pattern="*-service"
files=( $pattern )
cd ${files[0]}
executable="$(ls *target/jbpm*.jar | tail -n1)"
## if on CI, we just verify the 8090 port and close the process
if [[ -z "${CI}" ]]; then
java -jar "$executable"
else
java -jar "$executable" &
APP_PID=$!
echo "----> Process PID is ${APP_PID}. Waiting 1m to boot."
sleep 1m
echo "----> Verifying if application is up."
status_code=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8090)
exit_status=0
if [[ ${status_code} == 200 ]]; then
echo "----> Everything looks fine, returning"
else
echo "----> Application is not responding, returning."
exit_status=1
fi
kill $APP_PID
exit ${exit_status}
fi
fi