[docker] added arguments '--log' and '--no-tags' to docker.build.sh script

Simon Schön committed Jul 2, 2022 at 19:51 UTC 3347646178bfb14200328c9f806aa8eee9b855c7
1 file changed +25 -9
docker/docker.build.sh
+25 -9
@@ -2,9 +2,9 @@
2
3 MSG="";
4 PRUNE="false";
5 -
6 -LOG_FILE=""
7 -#LOG_FILE="$(dirname -- "$( readlink -f -- "$0"; )")/build.log";
5 +OVERRIDE_TAGS="false";
6 +ENABLE_LOG="false";
7 +LOG_FILE="$(dirname -- "$( readlink -f -- "$0"; )")/build.log";
8
9 function appendOutput()
10 {
@@ -12,23 +12,31 @@ function appendOutput()
12
13 ARGS=$@;
14 LINE="${ARGS}\n";
15 - if [ -z "${LOG_FILE}" ]; then echo -e "${LINE}" > /dev/tty; else echo -e "${LINE}" &>> "${LOG_FILE}"; fi
15 + if [ -z "${ENABLE_LOG}" ] || [ "${ENABLE_LOG}" != "true" ]; then echo -e "${LINE}" > /dev/tty; else echo -e "${LINE}" 2>&1 | tee -a ${LOG_FILE}; fi
16
17 MSG="${MSG}${LINE}";
18 }
19
20 function runDockerBuild()
21 {
22 - if [ "${PRUNE}" == "true" ]; then docker system prune -a -f; fi
22 + if [ "${PRUNE}" == "true" ]; then
23 + if [ -z "${ENABLE_LOG}" ] || [ "${ENABLE_LOG}" != "true" ]; then docker system prune -a -f;
24 + else docker system prune -a -f | tee -a ${LOG_FILE}; fi
25 + fi
26
27 STARTTS=$(date +%s);
28 ARGS=$@;
29
27 - APP_VERSION=$(grep -o '"version":\s*"[^"]*"' ./package.json | cut -f4- -d\" | tr -d '"')
28 - BUILD_CMD="docker build -f docker/Dockerfile --force-rm --no-cache ${ARGS} -t meshcentral:latest -t meshcentral:${APP_VERSION} .";
30 + APP_VERSION=$(grep -o '"version":\s*"[^"]*"' ./package.json | cut -f4- -d\" | tr -d '"');
31 + BASE_TAGS="";
32 + if [ -z "${OVERRIDE_TAGS}" ] || [ "${OVERRIDE_TAGS}" != "true" ]; then
33 + BASE_TAGS="-t meshcentral:latest -t meshcentral:${APP_VERSION}";
34 + fi
35 +
36 + BUILD_CMD="docker build -f docker/Dockerfile --force-rm --no-cache ${ARGS} ${BASE_TAGS} .";
37 appendOutput "Current build: ${BUILD_CMD}";
38
31 - if [ -z "${LOG_FILE}" ]; then ${BUILD_CMD}; else ${BUILD_CMD} &>> "${LOG_FILE}"; fi
39 + if [ -z "${ENABLE_LOG}" ] || [ "${ENABLE_LOG}" != "true" ]; then ${BUILD_CMD}; else ${BUILD_CMD} | tee -a ${LOG_FILE}; fi
40 if [ $? -ne 0 ]; then exit $?; fi
41
42 IMAGEID=$(docker images --format "{{.ID}} {{.CreatedAt}}" | sort -rk 2 | awk 'NR==1{print $1}');
@@ -69,6 +77,14 @@ if ! [ -z $1 ]; then
77 PRUNE="true";
78 shift 1;
79 ;;
80 + --log)
81 + ENABLE_LOG="true";
82 + shift 1;
83 + ;;
84 + --no-tags)
85 + OVERRIDE_TAGS="true";
86 + shift 1;
87 + ;;
88 *)
89 break;
90 ;;
@@ -89,6 +105,6 @@ runDockerBuild ${MAINARGS};
105 #runDockerBuild --build-arg INCLUDE_MONGODBTOOLS=yes ${MAINARGS};
106
107 echo "";
92 -echo -e "${MSG}";
108 +if [ -z "${ENABLE_LOG}" ] || [ "${ENABLE_LOG}" != "true" ]; then echo -e "${MSG}"; else echo -e "${MSG}" 2>&1 | tee -a ${LOG_FILE}; fi
109
110 exit 0;