From fa01818156e29de18f581a06e540c8638af5b8d2 Mon Sep 17 00:00:00 2001 From: Laurent Goderre Date: Mon, 25 Apr 2016 10:16:51 -0400 Subject: [PATCH 1/3] Added an alpine variant --- 4.6/alpine/Dockerfile | 45 ++++++++++++++++++++++++++++++++++++++ 6.9/alpine/Dockerfile | 45 ++++++++++++++++++++++++++++++++++++++ 7.1/alpine/Dockerfile | 45 ++++++++++++++++++++++++++++++++++++++ Dockerfile-alpine.template | 45 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 180 insertions(+) create mode 100644 4.6/alpine/Dockerfile create mode 100644 6.9/alpine/Dockerfile create mode 100644 7.1/alpine/Dockerfile create mode 100644 Dockerfile-alpine.template diff --git a/4.6/alpine/Dockerfile b/4.6/alpine/Dockerfile new file mode 100644 index 000000000..6ada33c03 --- /dev/null +++ b/4.6/alpine/Dockerfile @@ -0,0 +1,45 @@ +FROM alpine:3.4 + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 4.6.2 + +RUN apk add --no-cache \ + libstdc++ \ + && apk add --no-cache --virtual .build-deps \ + binutils-gold \ + curl \ + g++ \ + gcc \ + gnupg \ + libgcc \ + linux-headers \ + make \ + python \ + tar \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.gz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION.tar.gz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xf "node-v$NODE_VERSION.tar.gz" \ + && cd "node-v$NODE_VERSION" \ + && ./configure \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && apk del .build-deps \ + && cd .. \ + && rm -Rf "node-v$NODE_VERSION" \ + && rm "node-v$NODE_VERSION.tar.gz" SHASUMS256.txt.asc SHASUMS256.txt + +CMD [ "node" ] diff --git a/6.9/alpine/Dockerfile b/6.9/alpine/Dockerfile new file mode 100644 index 000000000..d25016b7f --- /dev/null +++ b/6.9/alpine/Dockerfile @@ -0,0 +1,45 @@ +FROM alpine:3.4 + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 6.9.1 + +RUN apk add --no-cache \ + libstdc++ \ + && apk add --no-cache --virtual .build-deps \ + binutils-gold \ + curl \ + g++ \ + gcc \ + gnupg \ + libgcc \ + linux-headers \ + make \ + python \ + tar \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.gz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION.tar.gz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xf "node-v$NODE_VERSION.tar.gz" \ + && cd "node-v$NODE_VERSION" \ + && ./configure \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && apk del .build-deps \ + && cd .. \ + && rm -Rf "node-v$NODE_VERSION" \ + && rm "node-v$NODE_VERSION.tar.gz" SHASUMS256.txt.asc SHASUMS256.txt + +CMD [ "node" ] diff --git a/7.1/alpine/Dockerfile b/7.1/alpine/Dockerfile new file mode 100644 index 000000000..edea0cfdd --- /dev/null +++ b/7.1/alpine/Dockerfile @@ -0,0 +1,45 @@ +FROM alpine:3.4 + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 7.1.0 + +RUN apk add --no-cache \ + libstdc++ \ + && apk add --no-cache --virtual .build-deps \ + binutils-gold \ + curl \ + g++ \ + gcc \ + gnupg \ + libgcc \ + linux-headers \ + make \ + python \ + tar \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.gz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION.tar.gz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xf "node-v$NODE_VERSION.tar.gz" \ + && cd "node-v$NODE_VERSION" \ + && ./configure \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && apk del .build-deps \ + && cd .. \ + && rm -Rf "node-v$NODE_VERSION" \ + && rm "node-v$NODE_VERSION.tar.gz" SHASUMS256.txt.asc SHASUMS256.txt + +CMD [ "node" ] diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template new file mode 100644 index 000000000..c7e270e0c --- /dev/null +++ b/Dockerfile-alpine.template @@ -0,0 +1,45 @@ +FROM alpine:3.4 + +ENV NPM_CONFIG_LOGLEVEL info +ENV NODE_VERSION 0.0.0 + +RUN apk add --no-cache \ + libstdc++ \ + && apk add --no-cache --virtual .build-deps \ + binutils-gold \ + curl \ + g++ \ + gcc \ + gnupg \ + libgcc \ + linux-headers \ + make \ + python \ + tar \ + && for key in \ + 9554F04D7259F04124DE6B476D5A82AC7E37093B \ + 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ + 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ + FD3A5288F042B6850C66B31F09FE44734EB7990E \ + 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ + DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ + B9AE9905FFD7803F25714661B63B535A4C206CA9 \ + C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ + ; do \ + gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ + done \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.gz" \ + && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ + && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && grep " node-v$NODE_VERSION.tar.gz\$" SHASUMS256.txt | sha256sum -c - \ + && tar -xf "node-v$NODE_VERSION.tar.gz" \ + && cd "node-v$NODE_VERSION" \ + && ./configure \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ + && apk del .build-deps \ + && cd .. \ + && rm -Rf "node-v$NODE_VERSION" \ + && rm "node-v$NODE_VERSION.tar.gz" SHASUMS256.txt.asc SHASUMS256.txt + +CMD [ "node" ] From 218686835d87ed6b492ece7586a33667590e385b Mon Sep 17 00:00:00 2001 From: Laurent Goderre Date: Wed, 26 Oct 2016 15:06:48 -0400 Subject: [PATCH 2/3] Seperate the build by version Attempt to get the build to work with alpine --- .travis.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 850ae39ea..7c38445f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,4 +4,12 @@ services: - docker script: - - ./test-build.sh + - ./test-build.sh $NODE_VERSION + +env: + matrix : + - NODE_VERSION: '0.10' + - NODE_VERSION: '0.12' + - NODE_VERSION: '4.6' + - NODE_VERSION: '6.9' + - NODE_VERSION: '7.1' From d20d305f0bf5935385a32558501f3a5c65e34878 Mon Sep 17 00:00:00 2001 From: Laurent Goderre Date: Mon, 7 Nov 2016 08:06:24 -0500 Subject: [PATCH 3/3] Added the default user to the alpine variant --- 4.6/alpine/Dockerfile | 4 +++- 6.9/alpine/Dockerfile | 4 +++- 7.1/alpine/Dockerfile | 4 +++- Dockerfile-alpine.template | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/4.6/alpine/Dockerfile b/4.6/alpine/Dockerfile index 6ada33c03..7b9bdecf6 100644 --- a/4.6/alpine/Dockerfile +++ b/4.6/alpine/Dockerfile @@ -3,7 +3,9 @@ FROM alpine:3.4 ENV NPM_CONFIG_LOGLEVEL info ENV NODE_VERSION 4.6.2 -RUN apk add --no-cache \ +RUN addgroup -S node \ + && adduser -D -S -h /var/cache/node -s /sbin/nologin -G node node \ + && apk add --no-cache \ libstdc++ \ && apk add --no-cache --virtual .build-deps \ binutils-gold \ diff --git a/6.9/alpine/Dockerfile b/6.9/alpine/Dockerfile index d25016b7f..28e332e81 100644 --- a/6.9/alpine/Dockerfile +++ b/6.9/alpine/Dockerfile @@ -3,7 +3,9 @@ FROM alpine:3.4 ENV NPM_CONFIG_LOGLEVEL info ENV NODE_VERSION 6.9.1 -RUN apk add --no-cache \ +RUN addgroup -S node \ + && adduser -D -S -h /var/cache/node -s /sbin/nologin -G node node \ + && apk add --no-cache \ libstdc++ \ && apk add --no-cache --virtual .build-deps \ binutils-gold \ diff --git a/7.1/alpine/Dockerfile b/7.1/alpine/Dockerfile index edea0cfdd..f90bafc9b 100644 --- a/7.1/alpine/Dockerfile +++ b/7.1/alpine/Dockerfile @@ -3,7 +3,9 @@ FROM alpine:3.4 ENV NPM_CONFIG_LOGLEVEL info ENV NODE_VERSION 7.1.0 -RUN apk add --no-cache \ +RUN addgroup -S node \ + && adduser -D -S -h /var/cache/node -s /sbin/nologin -G node node \ + && apk add --no-cache \ libstdc++ \ && apk add --no-cache --virtual .build-deps \ binutils-gold \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index c7e270e0c..cc849da54 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -3,7 +3,9 @@ FROM alpine:3.4 ENV NPM_CONFIG_LOGLEVEL info ENV NODE_VERSION 0.0.0 -RUN apk add --no-cache \ +RUN addgroup -S node \ + && adduser -D -S -h /var/cache/node -s /sbin/nologin -G node node \ + && apk add --no-cache \ libstdc++ \ && apk add --no-cache --virtual .build-deps \ binutils-gold \