-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
46 lines (37 loc) · 1.96 KB
/
Copy pathDockerfile
File metadata and controls
46 lines (37 loc) · 1.96 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
# Dockerizing a graal21-maven39-ubuntu24 images with:
# - ubuntu24
# - Graal VM 21
# - Maven 3.9
#
# build : docker build -t exoplatform/ci:graal21-maven39-ubuntu24 .
#
FROM exoplatform/ci:graal21-ubuntu24
LABEL MAINTAINER "eXo Platform <docker@exoplatform.com>"
# CI Tools version
ENV MAVEN_VERSION 3.9.6
# Install Maven
RUN mkdir -p /usr/share/maven \
&& curl -fsSL http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \
| tar xzf - -C /usr/share/maven --strip-components=1 \
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
# Workaround to be able to execute others command than "mvn" as entrypoint
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint
RUN chown ${EXO_CI_USER}:${EXO_GROUP} /usr/bin/docker-entrypoint \
&& chmod u+x /usr/bin/docker-entrypoint
USER ${EXO_CI_USER}
RUN mkdir -p ${HOME}/.web3j/solc
COPY releases.json ${HOME}/.web3j/solc/
RUN chown ${EXO_CI_USER}:${EXO_GROUP} ${HOME}/.web3j
# Custom configuration for Maven
ENV M2_HOME=/usr/share/maven
ENV MAVEN_OPTS="-Dmaven.repo.local=${HOME}/.m2/repository -Xms1G -Xmx2G -XX:MaxMetaspaceSize=1G -Dcom.sun.media.jai.disableMediaLib=true -Djava.io.tmpdir=${EXO_CI_TMP_DIR} -Dmaven.artifact.threads=10 -Djava.awt.headless=true --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED"
ENV PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH
# Create needed directories for Maven & git
RUN mkdir -p ${HOME}/.m2/repository \
&& mkdir -p ${HOME}/.ssh \
&& mkdir -p ${HOME}/.gnupg \
&& chmod 700 ${HOME}/.gnupg
WORKDIR ${EXO_CI_DATA_DIR}
# Workaround to be able to execute others command than "mvn" as entrypoint
ENTRYPOINT ["/usr/bin/docker-entrypoint"]
CMD ["mvn", "--help"]