项目
https://github.com/kubesphere/devops-agent
FROM kubespheredev/builder-base:v3.1.0
ENV NODE_VERSION 14.8.0
RUN ARCH= && uArch="$(uname -m)" \
&& case "${uArch##*-}" in \
x86_64) ARCH='x64';; \
aarch64) ARCH='arm64';; \
*) echo "unsupported architecture"; exit 1 ;; \
esac \
# gpg keys listed at https://github.com/nodejs/node#release-keys
&& set -ex \
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
77984A986EBC2AA786BC0F66B01FBB92821C587A \
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
4ED778F539E3634C779C87C6D7062848A1AB005C \
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
; do \
gpg --batch --keyserver sks.srv.dumain.com --recv-keys "$key"; \
done \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
&& yum install -y nodejs gcc-c++ make bzip2 GConf2 gtk2 chromedriver chromium xorg-x11-server-Xvfb
#RUN npm i -g watch-cli vsce typescript --unsafe-perm=true --allow-root
RUN npm -g config set user root \
&&npm i -g watch-cli vsce typescript
# Yarn
ENV YARN_VERSION 1.16.0
RUN curl -f -L -o /tmp/yarn.tgz https://github.com/yarnpkg/yarn/releases/download/v${YARN_VERSION}/yarn-v${YARN_VERSION}.tar.gz && \
tar xf /tmp/yarn.tgz && \
mv yarn-v${YARN_VERSION} /opt/yarn && \
ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn && \
yarn config set cache-folder /root/.yarn
设置 nodejs 版本
ENV NODE_VERSION 14.8.0
设置yarn 版本
ENV YARN_VERSION 1.16.0
https://github.com/yarnpkg/yarn/releases
docker build -t kubespheredev/builder-nodejs:14.8.0 .