summaryrefslogtreecommitdiff
path: root/infra/nncc/config/docker.configuration
diff options
context:
space:
mode:
Diffstat (limited to 'infra/nncc/config/docker.configuration')
-rw-r--r--infra/nncc/config/docker.configuration46
1 files changed, 46 insertions, 0 deletions
diff --git a/infra/nncc/config/docker.configuration b/infra/nncc/config/docker.configuration
new file mode 100644
index 000000000..7078585a2
--- /dev/null
+++ b/infra/nncc/config/docker.configuration
@@ -0,0 +1,46 @@
+DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-nnas}
+echo "Using docker image ${DOCKER_IMAGE_NAME}"
+
+if [ -z "`docker images ${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 EIGEN_URL"
+DOCKER_ENV_VARS+=" -e GEMMLOWP_URL"
+DOCKER_ENV_VARS+=" -e FLATBUFFERS_URL"
+DOCKER_ENV_VARS+=" -e FARMHASH_URL"
+DOCKER_ENV_VARS+=" -e NEON2SSE_URL"
+DOCKER_ENV_VARS+=" -e TENSORFLOW_URL"
+
+DOCKER_ENV_VARS+=" -e NNCC_WORKSPACE"
+
+DOCKER_RUN_OPTS="${DOCKER_OPTS}"
+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
+}