-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
36 lines (34 loc) · 1.12 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
FROM golang:1.24 as buildResource
WORKDIR /build/source
ADD resource ./
RUN go get -u github.com/maxbrunsfeld/counterfeiter/v6 \
&& go generate ./... \
&& go test -v ./... \
&& go build -o ../compiled/out out/out.go \
&& go build -o ../compiled/in in/in.go \
&& go build -o ../compiled/check check/check.go
FROM openjdk:25 as buildJava
RUN jlink --compress=2 \
--no-man-pages \
--module-path /opt/openjdk-13/jmods \
--add-modules java.base,java.sql,java.desktop,java.naming \
--output /compressed
FROM debian:12.9 as runtime
ENV PATH=$PATH:/opt/jdk/bin
ENV DETECT_JAR_DOWNLOAD_DIR /opt/resource
COPY --from=buildJava /compressed /opt/jdk/
COPY --from=buildResource /build/compiled/* ${DETECT_JAR_DOWNLOAD_DIR}/
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*
RUN /bin/bash -c "bash <(curl -s -L https://detect.synopsys.com/detect.sh) || true"
RUN adduser --home /home/blackduck \
--disabled-password \
--gecos "Blackduck" \
blackduck
RUN chown -R blackduck ${DETECT_JAR_DOWNLOAD_DIR}
RUN chmod +x ${DETECT_JAR_DOWNLOAD_DIR}/*
WORKDIR /
USER blackduck