Skip to content

Commit 207ef67

Browse files
Merge pull request #1125 from LaurentGoderre/multiple-alpine
Added multiple versions of alpine
2 parents 08d0df8 + c6bc44e commit 207ef67

22 files changed

+402
-69
lines changed

.travis.yml

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,6 @@ jobs:
128128
- NODE_VERSION="10"
129129
- VARIANT="jessie-slim"
130130

131-
- stage: Build
132-
before_script: *auto_skip
133-
name: 10 on alpine
134-
env:
135-
- NODE_VERSION="10"
136-
- VARIANT="alpine"
137-
138131
- stage: Build
139132
before_script: *auto_skip
140133
name: 10 on stretch
@@ -165,10 +158,17 @@ jobs:
165158

166159
- stage: Build
167160
before_script: *auto_skip
168-
name: 12 on alpine
161+
name: 10 on alpine3.9
169162
env:
170-
- NODE_VERSION="12"
171-
- VARIANT="alpine"
163+
- NODE_VERSION="10"
164+
- VARIANT="alpine3.9"
165+
166+
- stage: Build
167+
before_script: *auto_skip
168+
name: 10 on alpine3.10
169+
env:
170+
- NODE_VERSION="10"
171+
- VARIANT="alpine3.10"
172172

173173
- stage: Build
174174
before_script: *auto_skip
@@ -200,10 +200,17 @@ jobs:
200200

201201
- stage: Build
202202
before_script: *auto_skip
203-
name: 13 on alpine
203+
name: 12 on alpine3.9
204204
env:
205-
- NODE_VERSION="13"
206-
- VARIANT="alpine"
205+
- NODE_VERSION="12"
206+
- VARIANT="alpine3.9"
207+
208+
- stage: Build
209+
before_script: *auto_skip
210+
name: 12 on alpine3.10
211+
env:
212+
- NODE_VERSION="12"
213+
- VARIANT="alpine3.10"
207214

208215
- stage: Build
209216
before_script: *auto_skip
@@ -233,6 +240,13 @@ jobs:
233240
- NODE_VERSION="13"
234241
- VARIANT="buster-slim"
235242

243+
- stage: Build
244+
before_script: *auto_skip
245+
name: 13 on alpine3.10
246+
env:
247+
- NODE_VERSION="13"
248+
- VARIANT="alpine3.10"
249+
236250
- stage: Build
237251
before_script: *auto_skip
238252
name: 8 on jessie
@@ -249,45 +263,45 @@ jobs:
249263

250264
- stage: Build
251265
before_script: *auto_skip
252-
name: 8 on alpine
266+
name: 8 on stretch
253267
env:
254268
- NODE_VERSION="8"
255-
- VARIANT="alpine"
269+
- VARIANT="stretch"
256270

257271
- stage: Build
258272
before_script: *auto_skip
259-
name: 8 on onbuild
273+
name: 8 on stretch-slim
260274
env:
261275
- NODE_VERSION="8"
262-
- VARIANT="onbuild"
276+
- VARIANT="stretch-slim"
263277

264278
- stage: Build
265279
before_script: *auto_skip
266-
name: 8 on stretch
280+
name: 8 on buster
267281
env:
268282
- NODE_VERSION="8"
269-
- VARIANT="stretch"
283+
- VARIANT="buster"
270284

271285
- stage: Build
272286
before_script: *auto_skip
273-
name: 8 on stretch-slim
287+
name: 8 on buster-slim
274288
env:
275289
- NODE_VERSION="8"
276-
- VARIANT="stretch-slim"
290+
- VARIANT="buster-slim"
277291

278292
- stage: Build
279293
before_script: *auto_skip
280-
name: 8 on buster
294+
name: 8 on alpine3.9
281295
env:
282296
- NODE_VERSION="8"
283-
- VARIANT="buster"
297+
- VARIANT="alpine3.9"
284298

285299
- stage: Build
286300
before_script: *auto_skip
287-
name: 8 on buster-slim
301+
name: 8 on alpine3.10
288302
env:
289303
- NODE_VERSION="8"
290-
- VARIANT="buster-slim"
304+
- VARIANT="alpine3.10"
291305

292306
- stage: Build
293307
before_script: *auto_skip

10/alpine3.10/Dockerfile

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
FROM alpine:3.10
2+
3+
ENV NODE_VERSION 10.17.0
4+
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+
curl \
11+
&& ARCH= && alpineArch="$(apk --print-arch)" \
12+
&& case "${alpineArch##*-}" in \
13+
x86_64) \
14+
ARCH='x64' \
15+
CHECKSUM="f893a03c5b51e0c540e32cd52773221a2f9b6d575e7fe79ffe9e878483c703ff" \
16+
;; \
17+
*) ;; \
18+
esac \
19+
&& if [ -n "${CHECKSUM}" ]; then \
20+
set -eu; \
21+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
22+
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
23+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
24+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
25+
else \
26+
echo "Building from source" \
27+
# backup build
28+
&& apk add --no-cache --virtual .build-deps-full \
29+
binutils-gold \
30+
g++ \
31+
gcc \
32+
gnupg \
33+
libgcc \
34+
linux-headers \
35+
make \
36+
python \
37+
# gpg keys listed at https://github.com/nodejs/node#release-keys
38+
&& for key in \
39+
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
40+
FD3A5288F042B6850C66B31F09FE44734EB7990E \
41+
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
42+
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
43+
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
44+
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
45+
77984A986EBC2AA786BC0F66B01FBB92821C587A \
46+
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
47+
4ED778F539E3634C779C87C6D7062848A1AB005C \
48+
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
49+
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
50+
; do \
51+
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
52+
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
53+
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
54+
done \
55+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
56+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
57+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
58+
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
59+
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
60+
&& cd "node-v$NODE_VERSION" \
61+
&& ./configure \
62+
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
63+
&& make install \
64+
&& apk del .build-deps-full \
65+
&& cd .. \
66+
&& rm -Rf "node-v$NODE_VERSION" \
67+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
68+
fi \
69+
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
70+
&& apk del .build-deps
71+
72+
ENV YARN_VERSION 1.19.1
73+
74+
RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
75+
&& for key in \
76+
6A010C5166006599AA17F08146C2130DFD2497F5 \
77+
; do \
78+
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
79+
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
80+
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
81+
done \
82+
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
83+
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
84+
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
85+
&& mkdir -p /opt \
86+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
87+
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
88+
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
89+
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
90+
&& apk del .build-deps-yarn
91+
92+
COPY docker-entrypoint.sh /usr/local/bin/
93+
ENTRYPOINT ["docker-entrypoint.sh"]
94+
95+
CMD [ "node" ]
File renamed without changes.

10/alpine/Dockerfile renamed to 10/alpine3.9/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ RUN addgroup -g 1000 node \
88
libstdc++ \
99
&& apk add --no-cache --virtual .build-deps \
1010
curl \
11-
&& ARCH= && alpineArch="$(arch)" \
11+
&& ARCH= && alpineArch="$(apk --print-arch)" \
1212
&& case "${alpineArch##*-}" in \
1313
x86_64) \
1414
ARCH='x64' \
File renamed without changes.

10/architectures

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
bashbrew-arch variants
2-
amd64 jessie,jessie-slim,alpine,stretch,stretch-slim,buster,buster-slim
3-
arm32v6 alpine
4-
arm32v7 jessie,jessie-slim,alpine,stretch,stretch-slim,buster,buster-slim
5-
arm64v8 alpine,stretch,stretch-slim,buster,buster-slim
6-
i386 alpine
7-
ppc64le alpine,stretch,stretch-slim,buster,buster-slim
8-
s390x alpine,stretch,stretch-slim,buster,buster-slim
2+
amd64 jessie,jessie-slim,stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
3+
arm32v6 alpine3.9,alpine3.10
4+
arm32v7 jessie,jessie-slim,stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
5+
arm64v8 stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
6+
i386 alpine3.9,alpine3.10
7+
ppc64le stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10
8+
s390x stretch,stretch-slim,buster,buster-slim,alpine3.9,alpine3.10

12/alpine3.10/Dockerfile

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
FROM alpine:3.10
2+
3+
ENV NODE_VERSION 12.13.0
4+
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+
curl \
11+
&& ARCH= && alpineArch="$(apk --print-arch)" \
12+
&& case "${alpineArch##*-}" in \
13+
x86_64) \
14+
ARCH='x64' \
15+
CHECKSUM="f1c73636c4d345c4aefd65cc959f793d7bb795200d43e19e418d7811670b03dd" \
16+
;; \
17+
*) ;; \
18+
esac \
19+
&& if [ -n "${CHECKSUM}" ]; then \
20+
set -eu; \
21+
curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
22+
echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
23+
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
24+
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
25+
else \
26+
echo "Building from source" \
27+
# backup build
28+
&& apk add --no-cache --virtual .build-deps-full \
29+
binutils-gold \
30+
g++ \
31+
gcc \
32+
gnupg \
33+
libgcc \
34+
linux-headers \
35+
make \
36+
python \
37+
# gpg keys listed at https://github.com/nodejs/node#release-keys
38+
&& for key in \
39+
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
40+
FD3A5288F042B6850C66B31F09FE44734EB7990E \
41+
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
42+
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
43+
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
44+
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
45+
77984A986EBC2AA786BC0F66B01FBB92821C587A \
46+
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
47+
4ED778F539E3634C779C87C6D7062848A1AB005C \
48+
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
49+
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
50+
; do \
51+
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
52+
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
53+
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
54+
done \
55+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
56+
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
57+
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
58+
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
59+
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
60+
&& cd "node-v$NODE_VERSION" \
61+
&& ./configure \
62+
&& make -j$(getconf _NPROCESSORS_ONLN) V= \
63+
&& make install \
64+
&& apk del .build-deps-full \
65+
&& cd .. \
66+
&& rm -Rf "node-v$NODE_VERSION" \
67+
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
68+
fi \
69+
&& rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
70+
&& apk del .build-deps
71+
72+
ENV YARN_VERSION 1.19.1
73+
74+
RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
75+
&& for key in \
76+
6A010C5166006599AA17F08146C2130DFD2497F5 \
77+
; do \
78+
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
79+
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
80+
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
81+
done \
82+
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
83+
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
84+
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
85+
&& mkdir -p /opt \
86+
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
87+
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
88+
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
89+
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
90+
&& apk del .build-deps-yarn
91+
92+
COPY docker-entrypoint.sh /usr/local/bin/
93+
ENTRYPOINT ["docker-entrypoint.sh"]
94+
95+
CMD [ "node" ]
File renamed without changes.

12/alpine/Dockerfile renamed to 12/alpine3.9/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ RUN addgroup -g 1000 node \
88
libstdc++ \
99
&& apk add --no-cache --virtual .build-deps \
1010
curl \
11-
&& ARCH= && alpineArch="$(arch)" \
11+
&& ARCH= && alpineArch="$(apk --print-arch)" \
1212
&& case "${alpineArch##*-}" in \
1313
x86_64) \
1414
ARCH='x64' \
File renamed without changes.

0 commit comments

Comments
 (0)