diff options
| author | mo khan <mo.khan@gmail.com> | 2019-12-18 17:12:43 -0700 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-01-24 10:57:24 -0700 |
| commit | f52d9954ab02ee519009f49a9173d6a6a03f03ae (patch) | |
| tree | 10c8dd4f7edf465a819655cb74610a04d56c9d77 | |
| parent | e6cd3297543fcd344ed3391ffb5972ba3c3dd635 (diff) | |
Use multistage build to build gem before installing rubies
| -rw-r--r-- | Dockerfile | 56 |
1 files changed, 32 insertions, 24 deletions
@@ -1,21 +1,24 @@ +FROM debian:stable-slim AS gem-builder +ENV LM_HOME=/opt/license-management +WORKDIR $LM_HOME +COPY exe exe/ +COPY lib lib/ +COPY *.gemspec ./ +COPY *.json ./ +COPY *.md ./ +COPY *.yml ./ +RUN apt-get update -q \ + && apt-get install -y --no-install-recommends ruby \ + && gem build *.gemspec + FROM debian:stable-slim -ENV LM_HOME=/opt/license-management/ +ENV LM_HOME=/opt/license-management ENV PATH="${PATH}:/root/.asdf/shims:/root/.asdf/bin" ENV TERM="xterm" -COPY config $LM_HOME/config -RUN ln -sfn $LM_HOME/config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc \ - && ln -sfn $LM_HOME/config/02nocache /etc/apt/apt.conf.d/02nocache \ - && ln -sfn $LM_HOME/config/asdfrc $HOME/.asdfrc \ - && ln -sfn $LM_HOME/config/bashrc $HOME/.bashrc \ - && ln -sfn $LM_HOME/config/default-gems $HOME/.default-gems \ - && ln -sfn $LM_HOME/config/default-npm-packages $HOME/.default-npm-packages \ - && ln -sfn $LM_HOME/config/default-python-packages $HOME/.default-python-packages \ - && ln -sfn $LM_HOME/config/gemrc $HOME/.gemrc \ - && ln -sfn $LM_HOME/config/profile $HOME/.profile \ - && ln -sfn $LM_HOME/config/tool-versions $HOME/.tool-versions \ - && ln -sfn $LM_HOME/run.sh /run.sh \ - && ln -sfn $LM_HOME/test /test \ - && apt-get update -q \ +ENV HOME=/root +COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc +COPY config/02nocache /etc/apt/apt.conf.d/02nocache +RUN apt-get update -q \ && apt-get install -y --no-install-recommends \ apt-utils \ apt-transport-https \ @@ -76,7 +79,6 @@ RUN ln -sfn $LM_HOME/config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc \ && rm -fr /var/cache/apt/archives/ \ && rm -fr /usr/share/doc/ \ && git clone --depth 1 https://github.com/asdf-vm/asdf.git $HOME/.asdf \ - && asdf plugin-add dotnet-core \ && asdf plugin-add golang \ && asdf plugin-add java \ && asdf plugin-add maven \ @@ -84,13 +86,19 @@ RUN ln -sfn $LM_HOME/config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc \ && asdf plugin-add php https://github.com/mokhan/asdf-php.git \ && asdf plugin-add python \ && asdf plugin-add ruby \ - && asdf plugin-add yarn \ && bash $HOME/.asdf/plugins/nodejs/bin/import-release-team-keyring \ - && cd $HOME \ - && asdf install \ - && asdf current \ - && cd $LM_HOME \ - && gem build *.gemspec \ - && gem install *.gem -COPY . /opt/license-management/ + && ln -sfn $LM_HOME/run.sh /run.sh \ + && ln -sfn $LM_HOME/test /test +WORKDIR $HOME +COPY config/asdfrc .asdfrc +COPY config/bashrc .bashrc +COPY config/default-gems .default-gems +COPY config/default-npm-packages .default-npm-packages +COPY config/default-python-packages .default-python-packages +COPY config/gemrc .gemrc +COPY config/profile .profile +COPY config/tool-versions .tool-versions +COPY --from=gem-builder /opt/license-management/*.gem $LM_HOME/ +RUN asdf install && asdf current +COPY . $LM_HOME/ ENTRYPOINT ["/run.sh"] |
