Extract out common docker configuration (#450)
author박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Mon, 2 Jul 2018 23:36:27 +0000 (08:36 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Mon, 2 Jul 2018 23:36:27 +0000 (08:36 +0900)
This commit extracts out common docker configuration as 'docker.configuration' file
as the first step to decompose docker-build script.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
scripts/command/docker-build
scripts/docker.configuration [new file with mode: 0644]

index 20b6bfe..1961c25 100644 (file)
@@ -1,29 +1,6 @@
 #!/bin/bash
 
-DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-nncc}
-echo "Using docker image $DOCKER_IMAGE_NAME"
-
-if [ -z "`docker images | grep $DOCKER_IMAGE_NAME`" ]; then
-    echo "Need docker image!"
-    exit 1
-fi
-
-HOST_PATH="$NNCC_PROJECT_PATH"
-DOCKER_PATH="$NNCC_PROJECT_PATH"
-
-export GIT_SSL_NO_VERIFY=1
-
-DOCKER_VOLUMES=" -v $HOST_PATH:$DOCKER_PATH"
-
-DOCKER_ENV_VARS+=" -e http_proxy"
-DOCKER_ENV_VARS+=" -e no_proxy"
-DOCKER_ENV_VARS+=" -e GIT_SSL_NO_VERIFY"
-DOCKER_ENV_VARS+=" -e CAFFE_URL"
-DOCKER_ENV_VARS+=" -e GTEST_URL"
-DOCKER_ENV_VARS+=" -e FLATBUFFERS_URL"
-
-DOCKER_RUN_OPTS="--rm"
-DOCKER_RUN_OPTS+=" -w $DOCKER_PATH"
+source "${NNCC_SCRIPT_PATH}/docker.configuration"
 
 BUILD_RESULT=0
 
@@ -52,15 +29,6 @@ else
     fi
 fi
 
-# Newly created files during above docker run can have different ownership.
-# This may cause some problems, for example, some jenkins slaves or developers
-# can't remove built files due to lack of permission.
-# To address this issue, let's change owner of all files
-# in nncc to owner of nncc.
-NNCC_OWNER_UID=$(stat -c "%u" $HOST_PATH)
-NNCC_OWNER_GID=$(stat -c "%g" $HOST_PATH)
-
-CMD="chown -R $NNCC_OWNER_UID:$NNCC_OWNER_GID $DOCKER_PATH"
-docker run $DOCKER_RUN_OPTS $DOCKER_ENV_VARS $DOCKER_VOLUMES $DOCKER_IMAGE_NAME $CMD
+docker_cleanup
 
 exit $BUILD_RESULT
diff --git a/scripts/docker.configuration b/scripts/docker.configuration
new file mode 100644 (file)
index 0000000..9dd0d34
--- /dev/null
@@ -0,0 +1,38 @@
+DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-nncc}
+echo "Using docker image $DOCKER_IMAGE_NAME"
+
+if [ -z "`docker images | grep $DOCKER_IMAGE_NAME`" ]; then
+    echo "Need docker image!"
+    exit 1
+fi
+
+HOST_PATH="$NNCC_PROJECT_PATH"
+DOCKER_PATH="$NNCC_PROJECT_PATH"
+
+export GIT_SSL_NO_VERIFY=1
+
+DOCKER_VOLUMES=" -v $HOST_PATH:$DOCKER_PATH"
+
+DOCKER_ENV_VARS+=" -e http_proxy"
+DOCKER_ENV_VARS+=" -e no_proxy"
+DOCKER_ENV_VARS+=" -e GIT_SSL_NO_VERIFY"
+DOCKER_ENV_VARS+=" -e CAFFE_URL"
+DOCKER_ENV_VARS+=" -e GTEST_URL"
+DOCKER_ENV_VARS+=" -e FLATBUFFERS_URL"
+
+DOCKER_RUN_OPTS="--rm"
+DOCKER_RUN_OPTS+=" -w $DOCKER_PATH"
+
+function docker_cleanup()
+{
+  # Newly created files during during docker run can have different ownership.
+  # This may cause some problems, for example, some jenkins slaves or developers
+  # can't remove built files due to lack of permission.
+  # To address this issue, let's change owner of all files
+  # in nncc to owner of nncc.
+  NNCC_OWNER_UID=$(stat -c "%u" $HOST_PATH)
+  NNCC_OWNER_GID=$(stat -c "%g" $HOST_PATH)
+
+  CMD="chown -R $NNCC_OWNER_UID:$NNCC_OWNER_GID $DOCKER_PATH"
+  docker run $DOCKER_RUN_OPTS $DOCKER_ENV_VARS $DOCKER_VOLUMES $DOCKER_IMAGE_NAME $CMD
+}