Modernize openvidu-test-e2e Docker images. Update to Maven 3.9.x

v2
pabloFuente 2025-11-10 20:55:54 +01:00
parent 4f074f7633
commit 69b940bf0e
2 changed files with 63 additions and 52 deletions

View File

@ -4,43 +4,52 @@ LABEL maintainer="info@openvidu.io"
USER root
RUN apt-get update && apt-get -y upgrade && \
apt-get install -y --no-install-recommends apt-utils && \
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
ffmpeg \
git \
gnupg \
iproute2 \
lsb-release \
maven \
openjdk-21-jdk \
rsync \
software-properties-common \
sudo && \
# Node
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
NODE_MAJOR=22 && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list && \
apt-get update && apt-get install nodejs -y && \
# Node
npm install -g http-server@latest && \
rm -rf /var/lib/apt/lists/* && \
apt-get autoremove --purge -y && apt-get autoclean
ARG NODE_MAJOR=24
ENV DEBIAN_FRONTEND=noninteractive
# Change openjdk-21 as the default java
RUN update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/bin/java
RUN set -eux; \
apt update; \
apt install -y --no-install-recommends \
ca-certificates \
curl \
wget \
ffmpeg \
git \
gnupg \
iproute2 \
lsb-release \
openjdk-21-jdk \
rsync \
software-properties-common \
sudo; \
mkdir -p /etc/apt/keyrings; \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg; \
chmod 0644 /etc/apt/keyrings/nodesource.gpg; \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" > /etc/apt/sources.list.d/nodesource.list; \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg; \
chmod 0644 /etc/apt/keyrings/docker.gpg; \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list; \
apt update; \
apt install -y --no-install-recommends \
containerd.io \
docker-ce \
docker-ce-cli \
docker-compose-plugin \
nodejs; \
npm install -g http-server@latest; \
update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/bin/java; \
apt clean; \
rm -rf /var/lib/apt/lists/*
# Docker
RUN sudo mkdir -p /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
ENV MAVEN_VERSION=3.9.11
ENV MAVEN_HOME=/usr/share/maven
ENV PATH=$MAVEN_HOME/bin:$PATH
RUN wget -q https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz && \
tar -xzf apache-maven-${MAVEN_VERSION}-bin.tar.gz -C /opt && \
ln -s /opt/apache-maven-${MAVEN_VERSION} $MAVEN_HOME && \
rm apache-maven-${MAVEN_VERSION}-bin.tar.gz
RUN mvn -v
COPY entrypoint.sh /entrypoint.sh
RUN ["chmod", "+x", "/entrypoint.sh"]
COPY --chmod=0755 entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

View File

@ -1,21 +1,23 @@
FROM openvidu/openvidu-test-e2e:24.04
RUN apt-get -y update && \
apt-get install -y wget unzip
ENV DEBIAN_FRONTEND=noninteractive \
ANDROID_SDK_ROOT=/opt/android-sdk \
ANDROID_HOME=/opt/android-sdk \
CMDLINE_TOOLS_VERSION=11076708 \
ANDROID_PLATFORM=android-34
# Install Android sdkmanager
RUN mkdir /usr/lib/android-sdk && cd /usr/lib/android-sdk && \
wget https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip && \
unzip commandlinetools-linux*.zip && \
rm commandlinetools-linux*.zip && \
mkdir latest && mv cmdline-tools/* ./latest && mv latest ./cmdline-tools/.
ENV PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH"
# Install Android SDK using sdkmanager
RUN yes | /usr/lib/android-sdk/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-32"
# Export ANDROID_HOME env variable
ENV ANDROID_HOME=/usr/lib/android-sdk
# Cleanup
RUN rm -rf /var/lib/apt/lists/*
RUN apt-get autoremove --purge -y && apt-get autoclean
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends unzip; \
mkdir -p "$ANDROID_SDK_ROOT"; \
curl -fsSLo /tmp/cmdline-tools.zip "https://dl.google.com/android/repository/commandlinetools-linux-${CMDLINE_TOOLS_VERSION}_latest.zip"; \
unzip /tmp/cmdline-tools.zip -d "$ANDROID_SDK_ROOT"; \
rm /tmp/cmdline-tools.zip; \
mv "$ANDROID_SDK_ROOT"/cmdline-tools "$ANDROID_SDK_ROOT"/cmdline-tools-temp; \
mkdir -p "$ANDROID_SDK_ROOT"/cmdline-tools; \
mv "$ANDROID_SDK_ROOT"/cmdline-tools-temp "$ANDROID_SDK_ROOT"/cmdline-tools/latest; \
yes | "$ANDROID_SDK_ROOT"/cmdline-tools/latest/bin/sdkmanager --sdk_root="$ANDROID_SDK_ROOT" "platform-tools" "platforms;${ANDROID_PLATFORM}"; \
apt-get purge -y --auto-remove unzip; \
rm -rf /var/lib/apt/lists/*