-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sh
executable file
·60 lines (48 loc) · 1.16 KB
/
build.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
#!/bin/bash
# error codes
# 2 Invalid base image
# 3 Invalid proxy parameter
declare -A base_images
base_images[alpine]=alpine:latest
DEFAULT_BASE_IMAGE=alpine
DEFAULT_TAG=local
DEFAULT_USE_PROXY=N
download=$DEFAULT_SOURCEFORGE_DOWNLOAD
tag=$DEFAULT_TAG
while getopts b:t:p: flag
do
case "${flag}" in
b) base_image=${OPTARG};;
t) tag=${OPTARG};;
p) proxy=${OPTARG};;
esac
done
echo "base_image: $base_image";
echo "tag: $tag";
echo "proxy: [$proxy]";
if [ -z "${base_image}" ]; then
base_image=$DEFAULT_BASE_IMAGE
fi
expanded_base_image=${base_images[$base_image]}
if [ -z "${expanded_base_image}" ]; then
echo "invalid base image ["${base_image}"]"
exit 2
fi
if [ -z "${proxy}" ]; then
proxy="N"
fi
if [[ "${proxy}" == "Y" || "${proxy}" == "y" ]]; then
proxy="Y"
elif [[ "${proxy}" == "N" || "${proxy}" == "n" ]]; then
proxy="N"
else
echo "invalid proxy parameter ["${proxy}"]"
exit 3
fi
echo "Base Image: ["$expanded_base_image"]"
echo "Tag: ["$tag"]"
echo "Proxy: ["$proxy"]"
docker build . \
--build-arg BASE_IMAGE=${expanded_base_image} \
--build-arg USE_APT_PROXY=${proxy} \
-t giof71/mpd-scrobbler:$tag