From 36cdb0040abda394264455a1fdf3d6782af95ceb Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 6 Jul 2020 11:03:35 -0600 Subject: 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 --- Dockerfile | 45 +++++++++++++-------------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile index 2c7207c..a5119c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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"] -- cgit v1.2.3