11FROM ubuntu:16.04
22
3- ARG NVM_VERSION
4- ARG NVM_NODE_VERSION
3+ ARG NODE_VERSION
4+ ARG YARN_VERSION
55ARG LEIN_VERSION
66
77# We have to do this because Jenkins doesn't let us
88# https://issues.jenkins-ci.org/browse/JENKINS-49076
9- ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
9+ ENV PATH=/home/jenkins/.nvm/versions/node/v${NODE_VERSION}/bin:/ usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
1010 LANG=en_US.UTF-8 \
1111 LC_ALL=en_US.UTF-8 \
1212 LANGUAGE=en_US.UTF-8 \
1313 LEIN_HOME=/var/tmp/lein \
14- YARN_CACHE_FOLDER=/var/tmp/yarn
14+ LEIN_URL=https://raw.githubusercontent.com/technomancy/leiningen/${LEIN_VERSION}/bin/lein \
15+ YARN_CACHE_FOLDER=/var/tmp/yarn \
16+ NVM_DIR=/home/jenkins/.nvm
1517
1618RUN mkdir /var/tmp/npm /var/tmp/lein \
1719 && chmod 777 /var/tmp/npm /var/tmp/lein \
@@ -20,13 +22,12 @@ RUN mkdir /var/tmp/npm /var/tmp/lein \
2022 && echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections \
2123 && echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections \
2224 && curl -sL https://deb.nodesource.com/setup_10.x | bash - \
23- && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
24- && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
2525 && apt-get update \
2626 && DEBIAN_FRONTEND=noninteractive apt-get -q -y --no-install-recommends install \
27- file git wget zip unzip s3cmd build-essential nodejs yarn locales \
27+ file jq git wget zip unzip s3cmd build-essential nodejs locales \
2828 ca-certificates oracle-java8-installer oracle-java8-set-default \
2929 && locale-gen ${LANG} \
30+ && npm install -g yarn@${YARN_VERSION} \
3031 && apt-get clean \
3132 && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/man
3233
@@ -39,14 +40,17 @@ RUN addgroup --gid 1002 jenkins \
3940 && su jenkins -c "git config --global user.name 'jenkins@status.im'"
4041
4142# Leiningen setup
42- RUN wget -q https://raw.githubusercontent.com/technomancy/leiningen/${LEIN_VERSION}/bin/lein -O /usr/local/bin/lein \
43+ RUN wget ${LEIN_URL} -O /usr/local/bin/lein \
4344 && chmod 755 /usr/local/bin/lein \
4445 && lein version
4546
4647# Install NVM for Jenkins
47- RUN su jenkins -c "\
48- curl -s -o- https://raw.githubusercontent.com/creationix/nvm/${NVM_VERSION}/install.sh | bash && \
49- source ~/.nvm/nvm.sh && nvm install ${NVM_NODE_VERSION} && nvm alias default ${NVM_NODE_VERSION}"
48+ ADD nvm_install.sh /tmp/nvm_install.sh
49+ RUN su -l jenkins -c \
50+ "bash /tmp/nvm_install.sh && \
51+ . ${NVM_DIR}/nvm.sh && \
52+ nvm install ${NODE_VERSION} && \
53+ nvm alias default ${NODE_VERSION}"
5054
5155LABEL source="https://github.com/status-im/status-react/tree/develop/docker/base" \
5256 description="Base Image used for building Status app." \
0 commit comments