@@ -29,14 +29,14 @@ function exit_with_usage() {
29
29
echo " +------------------------------------------------------------------------------------------------------+"
30
30
echo " | ./build.sh [--hadoop-version <hadoop version>] [--registry <registry url>] [--author <author name>] |"
31
31
echo " | [--base-os-distribution <os distribution>] [--base-image <base image url>] |"
32
- echo " | [--push-image <true|false>] [--apache-mirror <apache mirror url>] |"
32
+ echo " | [--push-image <true|false>] [--apache-mirror <apache mirror url>] [--nexus-user <nexus username>]
33
+ [--nexus-password <nexus password>] |"
33
34
echo " +------------------------------------------------------------------------------------------------------+"
34
35
exit 1
35
36
}
36
37
37
38
REGISTRY=" docker.io/library"
38
- HADOOP_VERSION=2.8.5
39
- HADOOP_SHORT_VERSION=$( echo $HADOOP_VERSION | awk -F " ." ' {print $1"."$2}' )
39
+ HADOOP_VERSION=3.2.0.13-SNAPSHOT
40
40
AUTHOR=$( whoami)
41
41
# If you are based in China, you could pass --apache-mirror <a_mirror_url> when building this.
42
42
APACHE_MIRROR=" https://dlcdn.apache.org"
@@ -70,6 +70,14 @@ while (( "$#" )); do
70
70
PUSH_IMAGE=" $2 "
71
71
shift
72
72
;;
73
+ --nexus-user)
74
+ NEXUS_USER=" $2 "
75
+ shift
76
+ ;;
77
+ --nexus-password)
78
+ NEXUS_PASSWORD=" $2 "
79
+ shift
80
+ ;;
73
81
--help)
74
82
exit_with_usage
75
83
;;
@@ -92,6 +100,8 @@ while (( "$#" )); do
92
100
shift
93
101
done
94
102
103
+ HADOOP_SHORT_VERSION=$( echo $HADOOP_VERSION | awk -F " ." ' {print $1"."$2}' )
104
+
95
105
if [ -z " $BASE_IMAGE " ]; then
96
106
echo " start building base image: uniffle-base"
97
107
docker build -t " uniffle-base:latest" \
@@ -101,14 +111,15 @@ else
101
111
echo " using base image(${BASE_IMAGE} ) to build rss server"
102
112
fi
103
113
104
-
105
- HADOOP_FILE=hadoop-${HADOOP_VERSION} .tar.gz
106
- ARCHIVE_HADOOP_URL=https://archive.apache.org/dist/hadoop/core/hadoop-${HADOOP_VERSION} /${HADOOP_FILE}
107
- HADOOP_URL=${APACHE_MIRROR} /hadoop/core/hadoop-${HADOOP_VERSION} /${HADOOP_FILE}
108
- echo " HADOOP_URL is either ${HADOOP_URL} or ${ARCHIVE_HADOOP_URL} "
109
- if [ ! -e " $HADOOP_FILE " ]; \
110
- then wget " ${HADOOP_URL} " || wget " $ARCHIVE_HADOOP_URL " ; \
111
- else echo " ${HADOOP_FILE} has been downloaded" ; \
114
+ HADOOP_FILE=hops-$HADOOP_VERSION .tgz
115
+ if [ ! -e " $HADOOP_FILE " ]; then
116
+ if [[ -n " $NEXUS_USER " ]] && [[ -n " $NEXUS_PASSWORD " ]] ; then
117
+ wget --user $NEXUS_USER --password $NEXUS_PASSWORD https://nexus.hops.works/repository/hopshadoop/$HADOOP_FILE
118
+ else
119
+ wget https://repo.hops.works/master/$HADOOP_FILE
120
+ fi
121
+ else
122
+ echo " ${HADOOP_FILE} has been downloaded" ;
112
123
fi
113
124
114
125
RSS_DIR=../../..
@@ -126,17 +137,21 @@ cp "$RSS_DIR/$RSS_FILE" .
126
137
127
138
GIT_BRANCH=$( git rev-parse --abbrev-ref HEAD)
128
139
GIT_COMMIT=$( git describe --dirty --always --tags | sed ' s/-/./g' )
129
- echo " image version: ${IMAGE_VERSION := $RSS_VERSION - $GIT_COMMIT } "
140
+ IMAGE_VERSION= $( cat $RSS_DIR / version.txt | awk ' {$1=$1; print} ' | sed ' /^$/d ' )
130
141
IMAGE=$REGISTRY /rss-server:$IMAGE_VERSION
142
+ echo " image version: ${IMAGE_VERSION} "
143
+ IMAGE=$REGISTRY /rss:$IMAGE_VERSION
131
144
echo " building image: $IMAGE "
132
- docker build --network=host -t " $IMAGE " \
145
+
146
+ DOCKER_BUILDKIT=1 docker build --network=host -t " $IMAGE " \
133
147
--build-arg RSS_VERSION=" $RSS_VERSION " \
134
148
--build-arg HADOOP_VERSION=" $HADOOP_VERSION " \
135
149
--build-arg HADOOP_SHORT_VERSION=" $HADOOP_SHORT_VERSION " \
136
150
--build-arg AUTHOR=" $AUTHOR " \
137
151
--build-arg GIT_COMMIT=" $GIT_COMMIT " \
138
152
--build-arg GIT_BRANCH=" $GIT_BRANCH " \
139
153
--build-arg BASE_IMAGE=" $BASE_IMAGE " \
154
+ --build-arg HADOOP_FILE=" $HADOOP_FILE " \
140
155
-f Dockerfile --no-cache .
141
156
142
157
if [ x" ${PUSH_IMAGE} " == x" true" ]; then
0 commit comments