Skip to content

Commit cef7b20

Browse files
committed
Add Yarn
1 parent 11829ba commit cef7b20

5 files changed

+65
-0
lines changed

Dockerfile-alpine.template

+16
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,20 @@ RUN adduser -D -u 1000 node \
4343
&& rm -Rf "node-v$NODE_VERSION" \
4444
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
4545

46+
ENV YARN_VERSION 0.0.0
47+
48+
RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg \
49+
&& for key in \
50+
6A010C5166006599AA17F08146C2130DFD2497F5 \
51+
; do \
52+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
53+
done \
54+
&& curl -SL -o yarn.js "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js" \
55+
&& curl -SL -o yarn.js.asc "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js.asc" \
56+
&& gpg --verify yarn.js.asc yarn.js \
57+
&& rm yarn.js.asc \
58+
&& mv yarn.js /usr/local/bin/yarn \
59+
&& chmod +x /usr/local/bin/yarn \
60+
&& apk del .build-deps-yarn
61+
4662
CMD [ "node" ]

Dockerfile-slim.template

+15
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,19 @@ RUN buildDeps='xz-utils' \
3535
&& apt-get purge -y --auto-remove $buildDeps \
3636
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
3737

38+
ENV YARN_VERSION 0.0.0
39+
40+
RUN set -ex \
41+
&& for key in \
42+
6A010C5166006599AA17F08146C2130DFD2497F5 \
43+
; do \
44+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
45+
done \
46+
&& curl -SL -o yarn.js "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js" \
47+
&& curl -SL -o yarn.js.asc "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js.asc" \
48+
&& gpg --verify yarn.js.asc yarn.js \
49+
&& rm yarn.js.asc \
50+
&& mv yarn.js /usr/local/bin/yarn \
51+
&& chmod +x /usr/local/bin/yarn
52+
3853
CMD [ "node" ]

Dockerfile-wheezy.template

+15
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,19 @@ RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-
3030
&& rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
3131
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
3232

33+
ENV YARN_VERSION 0.0.0
34+
35+
RUN set -ex \
36+
&& for key in \
37+
6A010C5166006599AA17F08146C2130DFD2497F5 \
38+
; do \
39+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
40+
done \
41+
&& curl -SL -o yarn.js "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js" \
42+
&& curl -SL -o yarn.js.asc "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js.asc" \
43+
&& gpg --verify yarn.js.asc yarn.js \
44+
&& rm yarn.js.asc \
45+
&& mv yarn.js /usr/local/bin/yarn \
46+
&& chmod +x /usr/local/bin/yarn
47+
3348
CMD [ "node" ]

Dockerfile.template

+15
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,19 @@ RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-
3030
&& rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
3131
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
3232

33+
ENV YARN_VERSION 0.0.0
34+
35+
RUN set -ex \
36+
&& for key in \
37+
6A010C5166006599AA17F08146C2130DFD2497F5 \
38+
; do \
39+
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
40+
done \
41+
&& curl -SL -o yarn.js "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js" \
42+
&& curl -SL -o yarn.js.asc "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-legacy-$YARN_VERSION.js.asc" \
43+
&& gpg --verify yarn.js.asc yarn.js \
44+
&& rm yarn.js.asc \
45+
&& mv yarn.js /usr/local/bin/yarn \
46+
&& chmod +x /usr/local/bin/yarn
47+
3348
CMD [ "node" ]

update.sh

+4
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,16 @@ versions=( "${versions[@]%/}" )
1313
template=
1414
dockerfile=
1515

16+
yarnVersion="$(curl -sSL --compressed https://api.github.com/repos/yarnpkg/yarn/releases/latest | grep '"tag_name":' | head -n 1 | cut -d '"' -f 4 | cut -d v -f 2)"
17+
1618
function update_node_version {
1719
fullVersion="$(curl -sSL --compressed 'https://nodejs.org/dist' | grep '<a href="v'"$version." | sed -E 's!.*<a href="v([^"/]+)/?".*!\1!' | cut -f 3 -d . | sort -n | tail -1)"
1820
(
1921
cp $template $dockerfile
2022
sed -E -i.bak 's/^(ENV NODE_VERSION |FROM node:).*/\1'"$version.$fullVersion"'/' "$dockerfile"
2123
rm "$dockerfile.bak"
24+
sed -E -i.bak 's/^(ENV YARN_VERSION ).*/\1'"$yarnVersion"'/' "$dockerfile"
25+
rm "$dockerfile.bak"
2226
)
2327
}
2428

0 commit comments

Comments
 (0)