summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorCan Eldem <celdem@gitlab.com>2020-07-17 10:54:06 +0000
committerCan Eldem <celdem@gitlab.com>2020-07-17 10:54:06 +0000
commite1bb260b43763a36536b7d3fa4d73108ffb604d4 (patch)
treec1608efac87ba63eab8ff55ae5fc7a70d461c3e0 /Dockerfile
parente6e1644f777da7178d90c3cbf8043a410476fec3 (diff)
parent554dee2716b13a06f7b43d7a9b8d3c7af59785c0 (diff)
Merge branch '217905-install-minimal-mono' into 'master'v3.19.0
Install mono/nuget at build time See merge request gitlab-org/security-products/license-management!193
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile21
1 files changed, 17 insertions, 4 deletions
diff --git a/Dockerfile b/Dockerfile
index a5119c3..50ee6b7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,21 @@
# syntax = docker/dockerfile:experimental
-FROM debian:stable AS deb-builder
+FROM debian:stable AS gem-builder
WORKDIR /build
COPY . ./
-RUN ./bin/omnibus setup
-RUN ./bin/omnibus build license_management
+RUN ./bin/omnibus setup && \
+ ./bin/omnibus build license_management && \
+ mkdir -p /opt/toolcache && \
+ cp pkg/*.deb /opt/toolcache/
+
+FROM debian:stable AS mono-builder
+RUN apt-get update -q
+RUN apt-get install --no-install-recommends -y apt-transport-https dirmngr gnupg ca-certificates
+RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
+RUN echo "deb https://download.mono-project.com/repo/debian stable-buster main" | tee /etc/apt/sources.list.d/mono-official-stable.list
+RUN apt-get update -q
+RUN mv /etc/apt/apt.conf.d/docker-clean /etc/apt/apt.conf.d/docker-clean.bak
+RUN apt-get install -y --no-install-recommends nuget referenceassemblies-pcl ca-certificates-mono
+RUN mkdir -p /opt/toolcache && cp /var/cache/apt/archives/*.deb /opt/toolcache/
FROM debian:stable-slim
ENV ASDF_DATA_DIR="/opt/asdf"
@@ -12,7 +24,8 @@ ENV TERM="xterm"
WORKDIR /opt/gitlab
COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc
RUN mkdir -p /opt/toolcache
-COPY --from=deb-builder /build/pkg/*.deb /opt/toolcache/
+COPY --from=gem-builder /opt/toolcache/*.deb /opt/toolcache/
+COPY --from=mono-builder /opt/toolcache/*.deb /opt/toolcache/mono/
COPY config/install.sh /opt/install.sh
RUN bash /opt/install.sh
COPY run.sh /