-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·105 lines (93 loc) · 3.02 KB
/
build.sh
File metadata and controls
executable file
·105 lines (93 loc) · 3.02 KB
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
99
100
101
102
103
104
105
#!/bin/bash
#
# Copyright (c) 2016 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
MODEL_SCORING_PACKAGE=$(find `pwd`/../ -name "model-scoring-java-*.zip" -type f )
echo PATH `pwd`/../
echo $MODEL_SCORING_PACKAGE
if [ "$MODEL_SCORING_PACKAGE" == "" ]; then
echo "couldn't find model scoring java package"
exit 1
fi
echo MODEL_SCORING_PACKAGE $MODEL_SCORING_PACKAGE
unzip -o $MODEL_SCORING_PACKAGE -d `pwd`
NAME="`basename $MODEL_SCORING_PACKAGE`"
echo Base name $NAME
NAME=${NAME//.zip/}
echo Base name $NAME
echo docker build --file=Dockerfile --tag=scoring-engine-$BUILD_NUMBER \
--build-arg HTTP_PROXY=$http_proxy \
--build-arg HTTPS_PROXY=$http_proxy \
--build-arg NO_PROXY=$no_proxy \
--build-arg http_proxy=$http_proxy \
--build-arg https_proxy=$http_proxy \
--build-arg no_proxy=$no_proxy \
--build-arg MODEL_SCORING_PACKAGE=$NAME \
.
docker build --file=Dockerfile --tag=scoring-engine-$BUILD_NUMBER \
--build-arg HTTP_PROXY=$http_proxy \
--build-arg HTTPS_PROXY=$http_proxy \
--build-arg NO_PROXY=$no_proxy \
--build-arg http_proxy=$http_proxy \
--build-arg https_proxy=$http_proxy \
--build-arg no_proxy=$no_proxy \
--build-arg MODEL_SCORING_PACKAGE=$NAME \
.
mars=$(find `pwd` -name "*.mar" -type f )
IFS=$'\n'
for mar in $mars
do
echo
echo $mar
MARNAME="`basename $mar`"
echo Base name $MARNAME
MARNAME=${MARNAME//.mar/}
echo Base name $MARNAME
docker kill $MARNAME-$BUILD_NUMBER
docker rm $MARNAME-$BUILD_NUMBER
done
for mar in $mars
do
echo
echo $mar
MARNAME="`basename $mar`"
echo Base name $MARNAME
MARNAME=${MARNAME//.mar/}
echo Base name $MARNAME
DOCKERCONT=$MARNAME-$BUILD_NUMBER
docker kill $DOCKERCONT
docker rm $DOCKERCONT
docker run -it -d -p 9100:9100 --name=$DOCKERCONT scoring-engine-$BUILD_NUMBER
MAX=20
code=$(curl -s -o /dev/null localhost:9100 -w "%{http_code}")
count=$((0))
while [ $code -ne 200 ] && [ $count -lt $MAX ];
do
echo $code
code=$(curl -s -o /dev/null localhost:9100 -w "%{http_code}")
count=$((0+1))
sleep 1
done
code=$(curl -F "file=@$mar" -s -o /dev/null localhost:9100/uploadMarFile -w "%{http_code}")
if [ $code -ge 200 ] && [ $code -lt 400 ]; then
echo yes $code
else
echo failed to load model $mar, http status code $code
docker logs $DOCKERCONT
exit 1
fi
docker kill $DOCKERCONT
docker rm $DOCKERCONT
done