[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;