summaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 47f0f938b6a59fa90b860d4c8133b92db2d16d02 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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 AS asdf-builder
ENV ASDF_HOME="/opt/asdf"
ENV PATH="${PATH}:${ASDF_HOME}/shims:${ASDF_HOME}/bin"
ENV TERM="xterm"
ENV HOME=/root
WORKDIR $HOME
COPY config /root
ENV PACKAGES apt-transport-https \
  apt-utils \
  autoconf \
  automake \
  bison \
  bsdmainutils \
  build-essential \
  bzip2 \
  cmake \
  coreutils \
  curl \
  default-libmysqlclient-dev \
  gettext \
  git \
  gnupg2 \
  gpg \
  jq \
  libcurl4 \
  libcurl4-openssl-dev \
  libedit-dev \
  libffi-dev \
  libicu-dev \
  libjpeg-dev \
  liblttng-ctl0 \
  liblttng-ctl-dev \
  libncurses-dev \
  libonig-dev \
  libpng-dev \
  libpq-dev \
  libreadline-dev \
  libsqlite3-dev \
  libssl-dev \
  libtool \
  libxml2-dev \
  libxslt-dev \
  libyaml-dev \
  libzip-dev \
  locate \
  openssl \
  pkg-config \
  re2c \
  software-properties-common \
  unixodbc-dev \
  unzip \
  wget \
  zlib1g \
  zlib1g-dev
RUN mv /root/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc \
  && apt-get update -q \
  && apt-get install -y --no-install-recommends $PACKAGES \
  && wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.asc.gpg \
  && wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/debian/10/prod.list \
  && apt-get update -q && apt-get install -y --no-install-recommends dotnet-sdk-3.1 \
  && git clone --depth 1 https://github.com/asdf-vm/asdf.git $ASDF_HOME \
  && asdf plugin-add golang \
  && asdf plugin-add java \
  && asdf plugin-add maven \
  && asdf plugin-add nodejs \
  && asdf plugin-add php \
  && asdf plugin-add python \
  && asdf plugin-add ruby \
  && bash $ASDF_HOME/plugins/nodejs/bin/import-release-team-keyring
COPY --from=gem-builder /opt/license-management/*.gem $LM_HOME/
RUN asdf install \
  && asdf reshim \
  && asdf current \
  && rm -fr /tmp \
  && mkdir -p /tmp \
  && bash -lc 'scrub'

FROM debian:stable-slim
ENV LM_HOME=/opt/license-management
ENV ASDF_HOME="/opt/asdf"
ENV PATH="${PATH}:${ASDF_HOME}/shims:${ASDF_HOME}/bin"
ENV TERM="xterm"
ENV HOME=/root
ENV PACKAGES wget mono-devel
WORKDIR $HOME
COPY config /root
RUN mv /root/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc \
  && apt-get update -q \
  && apt-get install -y --no-install-recommends $PACKAGES \
  && wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.asc.gpg \
  && wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/debian/10/prod.list \
  && apt-get update -q && apt-get install -y --no-install-recommends dotnet-sdk-3.1
COPY --from=asdf-builder /opt/asdf $ASDF_HOME/
COPY test /test
COPY run.sh /
ENTRYPOINT ["/run.sh"]