diff options
| author | mo khan <mo.khan@gmail.com> | 2020-07-06 11:03:35 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-07-10 08:53:37 -0600 |
| commit | 36cdb0040abda394264455a1fdf3d6782af95ceb (patch) | |
| tree | 54093c956c0f4dcf4c2ad352847017aee9a88edc /Dockerfile | |
| parent | c7385965b4166fb6ab2db3387c67cd54aef1b8df (diff) | |
Isolate license_management ruby from project
* Target ruby version 2.7.1
* Add spec to fetch gems from a custom source
* Add proxy to rubygems.org config
* Specify default env vars to support offline environment
* Cleanup custom certificates after spec
* Inline docker-test script
* Do not install license_finder with each installed ruby
* Increase gem log verbosity and include backtrace
* Extract test fixtures for the different ruby scenarios
* Find *.gemspec files in gems dir
* Use RUBYLIB to hijack src path
* Run scan from project path dir
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 45 |
1 files changed, 13 insertions, 32 deletions
@@ -1,38 +1,19 @@ -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 +# syntax = docker/dockerfile:experimental +FROM debian:stable AS deb-builder +WORKDIR /build +COPY . ./ +RUN ./bin/omnibus setup +RUN ./bin/omnibus build license_management -# Install org.codehaus.mojo:license-maven-plugin to $HOME/.m2/repository -# Install gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin to $HOME/.m2/repository -FROM debian:stable AS license-maven-plugin-builder -RUN apt-get update -q \ - && apt-get install -y --no-install-recommends maven \ - && mvn license:license-list \ - && mvn dependency:get -Dartifact=gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:0.15.0 -DremoteRepositories=https://plugins.gradle.org/m2 \ - && mvn dependency:get -Dartifact=org.codehaus.plexus:plexus-utils:2.0.6 - -FROM debian:stable-slim as tools-builder +FROM debian:stable-slim ENV ASDF_DATA_DIR="/opt/asdf" -ENV HOME=/root -ENV PATH="${ASDF_DATA_DIR}/shims:${ASDF_DATA_DIR}/bin:${HOME}/.local/bin:${PATH}" +ENV PATH="${ASDF_DATA_DIR}/shims:${ASDF_DATA_DIR}/bin:/opt/gitlab/.local/bin:${PATH}" ENV TERM="xterm" -WORKDIR $HOME -COPY config /root +WORKDIR /opt/gitlab COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc -RUN bash /root/install.sh - -FROM tools-builder -ENV LM_HOME=/opt/license-management -COPY --from=license-maven-plugin-builder /root/.m2/repository /root/.m2/repository -COPY --from=gem-builder /opt/license-management/*.gem $LM_HOME/pkg/ +RUN mkdir -p /opt/toolcache +COPY --from=deb-builder /build/pkg/*.deb /opt/toolcache/ +COPY config/install.sh /opt/install.sh +RUN bash /opt/install.sh COPY run.sh / ENTRYPOINT ["/run.sh"] |
