项目
    https://github.com/kubesphere/devops-agent

    Dockerfile.txt

    1. FROM kubespheredev/builder-base:v3.1.0
    2. ENV NODE_VERSION 14.8.0
    3. RUN ARCH= && uArch="$(uname -m)" \
    4. && case "${uArch##*-}" in \
    5. x86_64) ARCH='x64';; \
    6. aarch64) ARCH='arm64';; \
    7. *) echo "unsupported architecture"; exit 1 ;; \
    8. esac \
    9. # gpg keys listed at https://github.com/nodejs/node#release-keys
    10. && set -ex \
    11. && for key in \
    12. 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
    13. FD3A5288F042B6850C66B31F09FE44734EB7990E \
    14. 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
    15. DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
    16. C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
    17. B9AE9905FFD7803F25714661B63B535A4C206CA9 \
    18. 77984A986EBC2AA786BC0F66B01FBB92821C587A \
    19. 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
    20. 4ED778F539E3634C779C87C6D7062848A1AB005C \
    21. A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
    22. B9E2F5981AA6E0CD28160D9FF13993A75599653C \
    23. ; do \
    24. gpg --batch --keyserver sks.srv.dumain.com --recv-keys "$key"; \
    25. done \
    26. && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
    27. && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
    28. && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
    29. && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
    30. && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
    31. && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
    32. && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
    33. && yum install -y nodejs gcc-c++ make bzip2 GConf2 gtk2 chromedriver chromium xorg-x11-server-Xvfb
    34. #RUN npm i -g watch-cli vsce typescript --unsafe-perm=true --allow-root
    35. RUN npm -g config set user root \
    36. &&npm i -g watch-cli vsce typescript
    37. # Yarn
    38. ENV YARN_VERSION 1.16.0
    39. RUN curl -f -L -o /tmp/yarn.tgz https://github.com/yarnpkg/yarn/releases/download/v${YARN_VERSION}/yarn-v${YARN_VERSION}.tar.gz && \
    40. tar xf /tmp/yarn.tgz && \
    41. mv yarn-v${YARN_VERSION} /opt/yarn && \
    42. ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn && \
    43. yarn config set cache-folder /root/.yarn

    设置 nodejs 版本
    ENV NODE_VERSION 14.8.0
    设置yarn 版本
    ENV YARN_VERSION 1.16.0

    https://nodejs.org/dist

    https://github.com/yarnpkg/yarn/releases

    1. docker build -t kubespheredev/builder-nodejs:14.8.0 .

    image.png
    image.png