blob: 50ee6b724b1f15327909e56b2653a07b53d0cd50 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# syntax = docker/dockerfile:experimental
FROM debian:stable AS gem-builder
WORKDIR /build
COPY . ./
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"
ENV PATH="${ASDF_DATA_DIR}/shims:${ASDF_DATA_DIR}/bin:/opt/gitlab/.local/bin:${PATH}"
ENV TERM="xterm"
WORKDIR /opt/gitlab
COPY config/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc
RUN mkdir -p /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 /
ENTRYPOINT ["/run.sh"]
|