You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2019/07/03 15:55:47 UTC

[tinkerpop] branch tp34 updated: CTR: Fixed Gremlin Server docker script.

This is an automated email from the ASF dual-hosted git repository.

dkuppitz pushed a commit to branch tp34
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/tp34 by this push:
     new 8fe711d  CTR: Fixed Gremlin Server docker script.
8fe711d is described below

commit 8fe711d28ecf3f20762cb1d99321f5fb3c1ff74f
Author: Daniel Kuppitz <da...@hotmail.com>
AuthorDate: Wed Jul 3 08:52:45 2019 -0700

    CTR: Fixed Gremlin Server docker script.
    
    Mounted local .m2 and .groovy directories in Gremlin Server's docker container to make plugin installations possible.
    Also, Gremlin Server is now running as root within the container, which shouldn't be an issue as it's the only application
    within the container.
---
 docker/gremlin-server.sh                   | 9 +++++++--
 docker/gremlin-server/Dockerfile.template  | 5 ++---
 docker/gremlin-server/docker-entrypoint.sh | 2 +-
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/docker/gremlin-server.sh b/docker/gremlin-server.sh
index 3afe0f4..540bfbc 100755
--- a/docker/gremlin-server.sh
+++ b/docker/gremlin-server.sh
@@ -44,7 +44,12 @@ pushd ${PROJECT_HOME} > /dev/null
 GREMLIN_SERVER_VERSION="$1"
 shift
 if [[ -z "$GREMLIN_SERVER_VERSION" ]]; then
-GREMLIN_SERVER_VERSION=$(grep tinkerpop -A2 pom.xml | grep -Po '(?<=<version>)([0-9]+\.?){3}(-SNAPSHOT)?(?=<)')
+  GREMLIN_SERVER_VERSION=$(grep tinkerpop -A2 pom.xml | grep -Po '(?<=<version>)([0-9]+\.?){3}(-SNAPSHOT)?(?=<)')
+  if [[ $(docker images | awk "{if (\$1 == \"tinkerpop/gremlin-server\" && \$2 == \"${GREMLIN_SERVER_VERSION}\") print}" | wc -l) -eq 0 ]]; then
+    pushd "${PROJECT_HOME}" > /dev/null
+    mvn -q clean install -pl :gremlin-server -am -DskipTests && mvn -q install -Pdocker-images -pl :gremlin-server -DskipTests
+    popd > /dev/null
+  fi
 fi
 
 echo "Using Gremlin Server $GREMLIN_SERVER_VERSION"
@@ -52,7 +57,7 @@ echo "Using Gremlin Server $GREMLIN_SERVER_VERSION"
 sed -e "s/GREMLIN_SERVER_VERSION\$/${GREMLIN_SERVER_VERSION}/" docker/gremlin-server/Dockerfile.template > Dockerfile
 
 docker build -t tinkerpop:${BUILD_TAG} .
-docker run ${TINKERPOP_TEST_DOCKER_OPTS} ${REMOVE_CONTAINER} -ti tinkerpop:${BUILD_TAG} "$GREMLIN_SERVER_VERSION" ${@}
+docker run ${TINKERPOP_TEST_DOCKER_OPTS} ${REMOVE_CONTAINER} -ti -v "${HOME}"/.groovy:/root/.groovy -v "${HOME}"/.m2:/root/.m2 tinkerpop:${BUILD_TAG} ${@}
 
 status=$?
 popd > /dev/null
diff --git a/docker/gremlin-server/Dockerfile.template b/docker/gremlin-server/Dockerfile.template
index 21e3564..07522ba 100644
--- a/docker/gremlin-server/Dockerfile.template
+++ b/docker/gremlin-server/Dockerfile.template
@@ -22,11 +22,10 @@ RUN mkdir -p /opt
 WORKDIR /opt
 COPY gremlin-server/src/test /opt/test/
 COPY docker/gremlin-server/docker-entrypoint.sh docker/gremlin-server/*.yaml /opt/
-RUN chown -R gremlin:gremlin /opt
 RUN chmod 755 /opt/docker-entrypoint.sh
-USER gremlin
+ENV GREMLIN_SERVER_VERSION=GREMLIN_SERVER_VERSION
 
 EXPOSE 45940
 
 ENTRYPOINT ["/opt/docker-entrypoint.sh"]
-CMD []
\ No newline at end of file
+CMD []
diff --git a/docker/gremlin-server/docker-entrypoint.sh b/docker/gremlin-server/docker-entrypoint.sh
index bc1a206..ae75116 100644
--- a/docker/gremlin-server/docker-entrypoint.sh
+++ b/docker/gremlin-server/docker-entrypoint.sh
@@ -31,6 +31,6 @@ cp *.yaml ${TINKERPOP_HOME}/conf/
 
 java -version
 
-/opt/gremlin-server/bin/gremlin-server.sh install org.apache.tinkerpop gremlin-python $1
+/opt/gremlin-server/bin/gremlin-server.sh install org.apache.tinkerpop gremlin-python ${GREMLIN_SERVER_VERSION}
 /opt/gremlin-server/bin/gremlin-server.sh conf/gremlin-server-integration.yaml &
 exec /opt/gremlin-server/bin/gremlin-server.sh conf/gremlin-server-integration-secure.yaml