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

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


The following commit(s) were added to refs/heads/master by this push:
     new d78d40404c1 HBASE-27459 Improve our hbase_docker to be able to build 
and start standalone clusters other than master branch (#4861)
d78d40404c1 is described below

commit d78d40404c1f8fb2327e14f4dee3f7fef4483fff
Author: Duo Zhang <zhang...@apache.org>
AuthorDate: Tue Dec 13 23:59:27 2022 +0800

    HBASE-27459 Improve our hbase_docker to be able to build and start 
standalone clusters other than master branch (#4861)
    
    Signed-off-by: Yulin Niu <niuyu...@apache.org>
---
 dev-support/hbase_docker/Dockerfile | 23 ++++++++++++-----------
 dev-support/hbase_docker/README.md  | 16 ++++++++--------
 2 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/dev-support/hbase_docker/Dockerfile 
b/dev-support/hbase_docker/Dockerfile
index afcd1c24584..1651a52fc5b 100644
--- a/dev-support/hbase_docker/Dockerfile
+++ b/dev-support/hbase_docker/Dockerfile
@@ -14,15 +14,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM ubuntu:18.04 AS BASE_IMAGE
+FROM ubuntu:22.04 AS BASE_IMAGE
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 
 RUN DEBIAN_FRONTEND=noninteractive apt-get -qq update && \
   DEBIAN_FRONTEND=noninteractive apt-get -qq install --no-install-recommends 
-y \
-    ca-certificates=20180409 \
-    curl='7.58.0-*' \
-    git='1:2.17.1-*' \
-    locales='2.27-*' \
+    ca-certificates=20211016 \
+    curl='7.81.0-*' \
+    git='1:2.34.1-*' \
+    locales='2.35-*' \
     && \
     apt-get clean && \
     rm -rf /var/lib/apt/lists/* \
@@ -31,16 +31,16 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -qq update && \
 ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
 
 FROM BASE_IMAGE AS MAVEN_DOWNLOAD_IMAGE
-ENV MAVEN_VERSION='3.6.3'
+ENV MAVEN_VERSION='3.8.6'
 ENV MAVEN_URL 
"https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz";
-ENV MAVEN_SHA512 
'c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0'
+ENV MAVEN_SHA512 
'f790857f3b1f90ae8d16281f902c689e4f136ebe584aba45e4b1fa66c80cba826d3e0e52fdd04ed44b4c66f6d3fe3584a057c26dfcac544a60b301e6d0f91c26'
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN curl --location --fail --silent --show-error --output /tmp/maven.tar.gz 
"${MAVEN_URL}" && \
   echo "${MAVEN_SHA512} */tmp/maven.tar.gz" | sha512sum -c -
 
 FROM BASE_IMAGE AS OPENJDK8_DOWNLOAD_IMAGE
-ENV OPENJDK8_URL 
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz'
-ENV OPENJDK8_SHA256 
'ed6c9db3719895584fb1fd69fc79c29240977675f26631911c5a1dbce07b7d58'
+ENV OPENJDK8_URL 
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u352-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u352b08.tar.gz'
+ENV OPENJDK8_SHA256 
'1633bd7590cb1cd72f5a1378ae8294451028b274d798e2a4ac672059a2f00fee'
 SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 RUN curl --location --fail --silent --show-error --output 
/tmp/adoptopenjdk8.tar.gz "${OPENJDK8_URL}" && \
   echo "${OPENJDK8_SHA256} */tmp/adoptopenjdk8.tar.gz" | sha256sum -c -
@@ -74,9 +74,10 @@ ENV PATH "${JAVA_HOME}/bin:${MAVEN_HOME}/bin:${PATH}"
 
 # Pull down HBase and build it into /root/hbase-bin.
 WORKDIR /root
-RUN git clone https://gitbox.apache.org/repos/asf/hbase.git -b master \
+ARG BRANCH_OR_TAG=master
+RUN git clone --depth 1 -b ${BRANCH_OR_TAG} 
https://github.com/apache/hbase.git \
     && \
-    mvn clean install -DskipTests assembly:single -f ./hbase/pom.xml \
+    mvn -T1C clean install -DskipTests assembly:single -f ./hbase/pom.xml \
     && \
     mkdir -p hbase-bin \
     && \
diff --git a/dev-support/hbase_docker/README.md 
b/dev-support/hbase_docker/README.md
index 1750e809cc7..d98f7ada98b 100644
--- a/dev-support/hbase_docker/README.md
+++ b/dev-support/hbase_docker/README.md
@@ -22,20 +22,20 @@ under the License.
 ## Overview
 
 The Dockerfile in this folder can be used to build a Docker image running
-the latest HBase master branch in standalone mode. It does this by setting
-up necessary dependencies, checking out the master branch of HBase from
-GitHub, and then building HBase. By default, this image will start the HMaster
-and launch the HBase shell when run.
+a specific HBase branch or tag(default to master) in standalone mode. It
+does this by setting up necessary dependencies, checking out the specific
+branch or tag of HBase from GitHub, and then building HBase. By default,
+this image will start the HMaster and launch the HBase shell when run.
 
 ## Usage
 
 1. Ensure that you have a recent version of Docker installed from
    [docker.io](http://www.docker.io).
 1. Set this folder as your working directory.
-1. Type `docker build -t hbase_docker .` to build a Docker image called 
**hbase_docker**.
-   This may take 10 minutes or more the first time you run the command since 
it will
-   create a Maven repository inside the image as well as checkout the master 
branch
-   of HBase.
+1. Type `docker build -t hbase_docker --build-arg BRANCH_OR_TAG=<branch or 
tag>.`
+   to build a Docker image called **hbase_docker**. This may take 10 minutes
+   or more the first time you run the command since it will create a Maven
+   repository inside the image as well as checkout the master branch of HBase.
 1. When this completes successfully, you can run `docker run -it hbase_docker`
    to access an HBase shell running inside of a container created from the
    **hbase_docker** image. Alternatively, you can type `docker run -it 
hbase_docker

Reply via email to