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

sneethir pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit 855801506820d491b1fe33ecfb8b38f599579fc1
Author: Selvamohan Neethiraj <[email protected]>
AuthorDate: Fri Dec 16 11:17:57 2022 -0500

    RANGER-4017: added to run ranger-kms as part of the pack AND also, used 
docker to build RANGER
---
 dev-support/ranger-docker/Dockerfile.ranger-base   |  4 +-
 .../ranger-docker/docker-compose.ranger-build.yml  |  6 +-
 ranger_in_docker                                   | 64 ++++++++++++++++------
 3 files changed, 51 insertions(+), 23 deletions(-)

diff --git a/dev-support/ranger-docker/Dockerfile.ranger-base 
b/dev-support/ranger-docker/Dockerfile.ranger-base
index a4bb9008f..52154868d 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger-base
+++ b/dev-support/ranger-docker/Dockerfile.ranger-base
@@ -15,7 +15,7 @@
 # limitations under the License.
 
 FROM ubuntu:20.04
-
+ARG TARGETARCH
 
 # Install tzdata, Python, Java, python-requests
 RUN apt-get update && \
@@ -25,7 +25,7 @@ RUN apt-get update && \
     pip3 install requests
 
 # Set environment variables
-ENV JAVA_HOME      /usr/lib/jvm/java-8-openjdk-amd64
+ENV JAVA_HOME      /usr/lib/jvm/java-8-openjdk-${TARGETARCH}
 ENV RANGER_DIST    /home/ranger/dist
 ENV RANGER_SCRIPTS /home/ranger/scripts
 ENV RANGER_HOME    /opt/ranger
diff --git a/dev-support/ranger-docker/docker-compose.ranger-build.yml 
b/dev-support/ranger-docker/docker-compose.ranger-build.yml
index f0b5b05e0..700bdc630 100644
--- a/dev-support/ranger-docker/docker-compose.ranger-build.yml
+++ b/dev-support/ranger-docker/docker-compose.ranger-build.yml
@@ -10,11 +10,11 @@ services:
     networks:
       - ranger
     volumes:
-      - ~/.m2:/home/ranger/.m2:delegated
+      - ${HOME:-~}/.m2:/home/ranger/.m2:delegated
       - ./scripts:/home/ranger/scripts
       - ./patches:/home/ranger/patches
-      - ./dist:/home/ranger/dist
-      - ./../../:/home/ranger/src:delegated
+      - ./dist:/home/ranger/dist:delegated
+      - ${RANGER_HOME:-./../../}:/home/ranger/src:delegated
     depends_on:
       - ranger-base
     environment:
diff --git a/ranger_in_docker b/ranger_in_docker
index 9fecb3892..847b16560 100755
--- a/ranger_in_docker
+++ b/ranger_in_docker
@@ -35,6 +35,15 @@
 # Also, you can force rebuild of ranger image by setting RANGER_REBUILD=1
 # By default, the script will check if a ranger image does not exists and will 
do ranger build and docker image build.
 #
+# Also, you can force rebuild of ranger using local maven and java based build 
+# instead of building it using Docker based buid by setting 
DOCKER_MAVEN_BUILD=1.
+# 
+
+#
+# This is needed to build ranger-base build based on architecture
+#
+DOCKER_BUILDKIT=1
+export DOCKER_BUILDKIT
 
 if [ $# -eq 1 ]
 then
@@ -66,12 +75,9 @@ then
        exit 1
 fi
 
-mvn --version > /dev/null 2>&1
-
-if [ $? -ne 0 ]
+if [ -z "${DOCKER_MAVEN_BUILD}" ]
 then
-       echo "ERROR: You must have MAVEN tool installed on your system to do a 
ranger build. (error running mvn command)"
-       exit 1
+       DOCKER_MAVEN_BUILD=0
 fi
 
 if [ -z "${RANGER_HOME}" ]
@@ -126,18 +132,6 @@ then
                build_ranger=1
        fi
        
-       if [ ${build_ranger} -eq 1 ]
-       then
-               cd ${RANGER_HOME} 
-               mvn clean package -DskipTests
-               if [ $? -ne 0 ]
-               then
-                       echo "ERROR: Unable to complete RANGER build. Exiting 
...."
-                       exit 1
-               fi
-               cp target/ranger-* ${RD_HOME}/dist
-               cp target/version ${RD_HOME}/dist 
-       fi
        
        cd ${RD_HOME}
        
@@ -155,8 +149,40 @@ then
                echo "+ docker-compose -f docker-compose.ranger-base.yml build 
--no-cache"
                docker-compose -f docker-compose.ranger-base.yml build 
--no-cache
        fi
+
+       if [ ${build_ranger} -eq 1 ]
+       then
+               if [ ${DOCKER_MAVEN_BUILD} -eq 0 ]
+               then
+                       cd ${RD_HOME}
+
+                       echo "+ docker-compose -f 
docker-compose.ranger-base.yml -f docker-compose.ranger-build.yml down 
--remove-orphans"
+                       docker-compose -f docker-compose.ranger-base.yml -f 
docker-compose.ranger-build.yml down --remove-orphans
+
+                       echo "+ docker-compose -f 
docker-compose.ranger-base.yml -f docker-compose.ranger-build.yml up"
+                       docker-compose -f docker-compose.ranger-base.yml -f 
docker-compose.ranger-build.yml up
+                       if [ $? -ne 0 ]
+                       then
+                               echo "ERROR: Unable to complete RANGER build 
using DOCKER. Exiting ...."
+                               exit 1
+                       fi
+               else
+                       cd ${RANGER_HOME} 
+                       mvn clean package -DskipTests
+                       if [ $? -ne 0 ]
+                       then
+                               echo "ERROR: Unable to complete RANGER build. 
Exiting ...."
+                               exit 1
+                       fi
+                       cp target/ranger-* ${RD_HOME}/dist
+                       cp target/version ${RD_HOME}/dist 
+               fi
+
+       fi
 fi
 
+cd ${RD_HOME}
+
 export RANGER_DB_TYPE=postgres
 
 docker-compose -f docker-compose.ranger-base.yml \
@@ -168,7 +194,9 @@ docker-compose -f docker-compose.ranger-base.yml \
                                -f docker-compose.ranger-hbase.yml \
                                -f docker-compose.ranger-kafka.yml \
                                -f docker-compose.ranger-hive.yml \
-                               -f docker-compose.ranger-knox.yml 
${DOCKER_ACTION} ${DOCKER_COMPOSE_FLAGS}
+                               -f docker-compose.ranger-knox.yml \
+                               -f docker-compose.ranger-kms.yml \
+                                       ${DOCKER_ACTION} ${DOCKER_COMPOSE_FLAGS}
 
 echo
 echo "################### LIST OF DOCKER PROCESSES EXPOSING PORTS 
#####################"

Reply via email to