Skip to content

Commit b812021

Browse files
Try to download pre-built alpine binary before building
1 parent 3be8bf6 commit b812021

File tree

5 files changed

+170
-80
lines changed

5 files changed

+170
-80
lines changed

10/alpine/Dockerfile

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ FROM alpine:3.9
22

33
ENV NODE_VERSION 10.15.3
44

5-
RUN addgroup -g 1000 node \
6-
&& adduser -u 1000 -G node -s /bin/sh -D node \
7-
&& apk add --no-cache \
8-
libstdc++ \
9-
&& apk add --no-cache --virtual .build-deps \
10-
binutils-gold \
11-
curl \
12-
g++ \
13-
gcc \
14-
gnupg \
15-
libgcc \
16-
linux-headers \
17-
make \
18-
python \
5+
RUN ARCH= && alpineArch="$(arch)" \
6+
&& case "${alpineArch##*-}" in \
7+
x86_64) ARCH='x64';; \
8+
i386) ARCH='x86';; \
9+
*) ;; \
10+
esac \
11+
&& addgroup -g 1000 node \
12+
&& adduser -u 1000 -G node -s /bin/sh -D node \
13+
&& apk add --no-cache \
14+
libstdc++ \
15+
&& apk add --no-cache --virtual .build-deps \
16+
curl \
17+
gnupg \
1918
# gpg keys listed at https://github.com/nodejs/node#release-keys
2019
&& for key in \
2120
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
@@ -34,6 +33,23 @@ RUN addgroup -g 1000 node \
3433
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
3534
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
3635
done \
36+
&& ( \
37+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
38+
&& curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/SHASUMS256.txt" \
39+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
40+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
41+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt \
42+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
43+
) || ( \
44+
# backup build
45+
apk add --no-cache --virtual .build-deps-full \
46+
binutils-gold \
47+
g++ \
48+
gcc \
49+
libgcc \
50+
linux-headers \
51+
make \
52+
python \
3753
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
3854
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
3955
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -43,10 +59,12 @@ RUN addgroup -g 1000 node \
4359
&& ./configure \
4460
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
4561
&& make install \
46-
&& apk del .build-deps \
62+
&& apk del .build-deps-full \
4763
&& cd .. \
4864
&& rm -Rf "node-v$NODE_VERSION" \
49-
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
65+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
66+
) \
67+
&& apk del .build-deps
5068

5169
ENV YARN_VERSION 1.13.0
5270

11/alpine/Dockerfile

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ FROM alpine:3.9
22

33
ENV NODE_VERSION 11.15.0
44

5-
RUN addgroup -g 1000 node \
6-
&& adduser -u 1000 -G node -s /bin/sh -D node \
7-
&& apk add --no-cache \
8-
libstdc++ \
9-
&& apk add --no-cache --virtual .build-deps \
10-
binutils-gold \
11-
curl \
12-
g++ \
13-
gcc \
14-
gnupg \
15-
libgcc \
16-
linux-headers \
17-
make \
18-
python \
5+
RUN ARCH= && alpineArch="$(arch)" \
6+
&& case "${alpineArch##*-}" in \
7+
x86_64) ARCH='x64';; \
8+
i386) ARCH='x86';; \
9+
*) ;; \
10+
esac \
11+
&& addgroup -g 1000 node \
12+
&& adduser -u 1000 -G node -s /bin/sh -D node \
13+
&& apk add --no-cache \
14+
libstdc++ \
15+
&& apk add --no-cache --virtual .build-deps \
16+
curl \
17+
gnupg \
1918
# gpg keys listed at https://github.com/nodejs/node#release-keys
2019
&& for key in \
2120
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
@@ -34,6 +33,23 @@ RUN addgroup -g 1000 node \
3433
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
3534
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
3635
done \
36+
&& ( \
37+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
38+
&& curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/SHASUMS256.txt" \
39+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
40+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
41+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt \
42+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
43+
) || ( \
44+
# backup build
45+
apk add --no-cache --virtual .build-deps-full \
46+
binutils-gold \
47+
g++ \
48+
gcc \
49+
libgcc \
50+
linux-headers \
51+
make \
52+
python \
3753
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
3854
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
3955
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -43,10 +59,12 @@ RUN addgroup -g 1000 node \
4359
&& ./configure \
4460
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
4561
&& make install \
46-
&& apk del .build-deps \
62+
&& apk del .build-deps-full \
4763
&& cd .. \
4864
&& rm -Rf "node-v$NODE_VERSION" \
49-
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
65+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
66+
) \
67+
&& apk del .build-deps
5068

5169
ENV YARN_VERSION 1.15.2
5270

12/alpine/Dockerfile

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ FROM alpine:3.9
22

33
ENV NODE_VERSION 12.1.0
44

5-
RUN addgroup -g 1000 node \
6-
&& adduser -u 1000 -G node -s /bin/sh -D node \
7-
&& apk add --no-cache \
8-
libstdc++ \
9-
&& apk add --no-cache --virtual .build-deps \
10-
binutils-gold \
11-
curl \
12-
g++ \
13-
gcc \
14-
gnupg \
15-
libgcc \
16-
linux-headers \
17-
make \
18-
python \
5+
RUN ARCH= && alpineArch="$(arch)" \
6+
&& case "${alpineArch##*-}" in \
7+
x86_64) ARCH='x64';; \
8+
i386) ARCH='x86';; \
9+
*) ;; \
10+
esac \
11+
&& addgroup -g 1000 node \
12+
&& adduser -u 1000 -G node -s /bin/sh -D node \
13+
&& apk add --no-cache \
14+
libstdc++ \
15+
&& apk add --no-cache --virtual .build-deps \
16+
curl \
17+
gnupg \
1918
# gpg keys listed at https://github.com/nodejs/node#release-keys
2019
&& for key in \
2120
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
@@ -34,6 +33,23 @@ RUN addgroup -g 1000 node \
3433
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
3534
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
3635
done \
36+
&& ( \
37+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
38+
&& curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/SHASUMS256.txt" \
39+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
40+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
41+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt \
42+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
43+
) || ( \
44+
# backup build
45+
apk add --no-cache --virtual .build-deps-full \
46+
binutils-gold \
47+
g++ \
48+
gcc \
49+
libgcc \
50+
linux-headers \
51+
make \
52+
python \
3753
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
3854
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
3955
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -43,10 +59,12 @@ RUN addgroup -g 1000 node \
4359
&& ./configure \
4460
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
4561
&& make install \
46-
&& apk del .build-deps \
62+
&& apk del .build-deps-full \
4763
&& cd .. \
4864
&& rm -Rf "node-v$NODE_VERSION" \
49-
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
65+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
66+
) \
67+
&& apk del .build-deps
5068

5169
ENV YARN_VERSION 1.15.2
5270

8/alpine/Dockerfile

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ FROM alpine:3.9
22

33
ENV NODE_VERSION 8.16.0
44

5-
RUN addgroup -g 1000 node \
6-
&& adduser -u 1000 -G node -s /bin/sh -D node \
7-
&& apk add --no-cache \
8-
libstdc++ \
9-
&& apk add --no-cache --virtual .build-deps \
10-
binutils-gold \
11-
curl \
12-
g++ \
13-
gcc \
14-
gnupg \
15-
libgcc \
16-
linux-headers \
17-
make \
18-
python \
5+
RUN ARCH= && alpineArch="$(arch)" \
6+
&& case "${alpineArch##*-}" in \
7+
x86_64) ARCH='x64';; \
8+
i386) ARCH='x86';; \
9+
*) ;; \
10+
esac \
11+
&& addgroup -g 1000 node \
12+
&& adduser -u 1000 -G node -s /bin/sh -D node \
13+
&& apk add --no-cache \
14+
libstdc++ \
15+
&& apk add --no-cache --virtual .build-deps \
16+
curl \
17+
gnupg \
1918
# gpg keys listed at https://github.com/nodejs/node#release-keys
2019
&& for key in \
2120
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
@@ -34,6 +33,23 @@ RUN addgroup -g 1000 node \
3433
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
3534
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
3635
done \
36+
&& ( \
37+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
38+
&& curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/SHASUMS256.txt" \
39+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
40+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
41+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt \
42+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
43+
) || ( \
44+
# backup build
45+
apk add --no-cache --virtual .build-deps-full \
46+
binutils-gold \
47+
g++ \
48+
gcc \
49+
libgcc \
50+
linux-headers \
51+
make \
52+
python \
3753
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
3854
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
3955
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -43,10 +59,12 @@ RUN addgroup -g 1000 node \
4359
&& ./configure \
4460
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
4561
&& make install \
46-
&& apk del .build-deps \
62+
&& apk del .build-deps-full \
4763
&& cd .. \
4864
&& rm -Rf "node-v$NODE_VERSION" \
49-
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
65+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
66+
) \
67+
&& apk del .build-deps
5068

5169
ENV YARN_VERSION 1.15.2
5270

Dockerfile-alpine.template

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@ FROM alpine:0.0
22

33
ENV NODE_VERSION 0.0.0
44

5-
RUN addgroup -g 1000 node \
6-
&& adduser -u 1000 -G node -s /bin/sh -D node \
7-
&& apk add --no-cache \
8-
libstdc++ \
9-
&& apk add --no-cache --virtual .build-deps \
10-
binutils-gold \
11-
curl \
12-
g++ \
13-
gcc \
14-
gnupg \
15-
libgcc \
16-
linux-headers \
17-
make \
18-
python \
5+
RUN ARCH= && alpineArch="$(arch)" \
6+
&& case "${alpineArch##*-}" in \
7+
x86_64) ARCH='x64';; \
8+
i386) ARCH='x86';; \
9+
*) ;; \
10+
esac \
11+
&& addgroup -g 1000 node \
12+
&& adduser -u 1000 -G node -s /bin/sh -D node \
13+
&& apk add --no-cache \
14+
libstdc++ \
15+
&& apk add --no-cache --virtual .build-deps \
16+
curl \
17+
gnupg \
1918
# gpg keys listed at https://github.com/nodejs/node#release-keys
2019
&& for key in \
2120
"${NODE_KEYS[@]}"
@@ -24,6 +23,23 @@ RUN addgroup -g 1000 node \
2423
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
2524
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
2625
done \
26+
&& ( \
27+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
28+
&& curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/SHASUMS256.txt" \
29+
&& grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
30+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
31+
&& rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt \
32+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
33+
) || ( \
34+
# backup build
35+
apk add --no-cache --virtual .build-deps-full \
36+
binutils-gold \
37+
g++ \
38+
gcc \
39+
libgcc \
40+
linux-headers \
41+
make \
42+
python \
2743
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
2844
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
2945
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
@@ -33,10 +49,12 @@ RUN addgroup -g 1000 node \
3349
&& ./configure \
3450
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
3551
&& make install \
36-
&& apk del .build-deps \
52+
&& apk del .build-deps-full \
3753
&& cd .. \
3854
&& rm -Rf "node-v$NODE_VERSION" \
39-
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
55+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
56+
) \
57+
&& apk del .build-deps
4058

4159
ENV YARN_VERSION 0.0.0
4260

0 commit comments

Comments
 (0)