-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Dockerfile
54 lines (43 loc) · 2.18 KB
/
Dockerfile
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
########################################################################################################################
# DEV #
########################################################################################################################
FROM maven:3.6.1-jdk-8 as dev
##########################
# install dependencies #
##########################
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl=7.52.1-5+deb9u9 \
g++=4:6.3.0-4 \
make=4.1-9.1 \
unzip=6.0-21+deb9u1 \
&& rm -rf /var/lib/apt/lists/*
#######################
# install protobuf 2.5.0 #
#######################
RUN curl -fsSL --insecure -o /tmp/protobuf-2.5.0.tar.gz https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz \
&& tar -xzf /tmp/protobuf-2.5.0.tar.gz -C /tmp \
&& rm -rf /tmp/protobuf-2.5.0.tar.gz \
&& mv /tmp/protobuf-* /tmp/protobuf \
&& cd /tmp/protobuf \
&& ./configure \
&& make -j4 \
&& make install \
&& rm -rf /tmp/protobuf
ENV PATH /usr/local/bin/:$PATH
ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH
########################################################################################################################
# JAVA BUILDER #
########################################################################################################################
FROM dev as java_builder
WORKDIR /app
COPY ./ /app
RUN mvn -e -B -Dmaven.test.skip=true package
########################################################################################################################
# Artifacts #
########################################################################################################################
FROM alpine:3.10 as artifacts
WORKDIR /dist
COPY --from=java_builder /app/dist/target/*.zip ./
VOLUME /output
CMD [ "/bin/sh", "-c", "cp ./* /output" ]