-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
66 lines (53 loc) · 1.8 KB
/
Dockerfile
File metadata and controls
66 lines (53 loc) · 1.8 KB
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
# Parameterized Web Tools Dockerfile
#
# Build example:
# docker build \
# --build-arg BASE_IMAGE_TAG=22.11.0-jdk21 \
# --build-arg GRADLE_VERSION=8.5 \
# --build-arg SONAR_VERSION=4.8.0.2856 \
# --build-arg CX_FLOW_VERSION=1.7.11 \
# --build-arg CX_FLOW_JAR=cx-flow.jar \
# --build-arg SCA_RESOLVER_VERSION=2.12.36 \
# -t ringcentral/web-tools:node22-jdk21 .
ARG BASE_IMAGE_TAG=22.11.0-jdk21
FROM ghcr.io/ringcentral-docker/node:${BASE_IMAGE_TAG}
LABEL maintainer="john.lin@ringcentral.com"
# Build arguments
ARG GRADLE_VERSION=8.5
ARG SONAR_VERSION=4.8.0.2856
ARG CX_FLOW_VERSION=1.7.11
ARG CX_FLOW_JAR=cx-flow.jar
ARG SCA_RESOLVER_VERSION=2.12.36
# Environment variables
ENV GRADLE_VERSION=${GRADLE_VERSION} \
SONAR_VERSION=${SONAR_VERSION} \
CX_FLOW_VERSION=${CX_FLOW_VERSION} \
SCA_RESOLVER_VERSION=${SCA_RESOLVER_VERSION}
# Copy installation scripts
COPY scripts/ /tmp/scripts/
RUN chmod +x /tmp/scripts/*.sh
# Install base tools
RUN /tmp/scripts/install-base.sh
# Install Gradle
RUN /tmp/scripts/install-gradle.sh
# Install Puppeteer/Chromium dependencies
RUN /tmp/scripts/install-chromium.sh
# Install Sonar Scanner
RUN /tmp/scripts/install-sonar.sh
# Install Checkmarx tools
RUN /tmp/scripts/install-checkmarx.sh ${CX_FLOW_JAR}
# Cleanup
RUN rm -rf /tmp/scripts /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Final version summary
RUN echo "=== Final Version Summary ===" \
&& java -version \
&& javac -version \
&& mvn -version \
&& gradle --version \
&& node --version \
&& npm version \
&& yarn --version \
&& python3 --version \
&& git --version \
&& (command -v chromium && chromium --version --no-sandbox || echo "chromium: not installed") \
&& (command -v sonar-scanner && sonar-scanner --version || echo "sonar-scanner: not installed")