diff --git a/openvidu-test-e2e/docker/Dockerfile b/openvidu-test-e2e/docker/Dockerfile index 41d10d008..bc7f4af90 100644 --- a/openvidu-test-e2e/docker/Dockerfile +++ b/openvidu-test-e2e/docker/Dockerfile @@ -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"] diff --git a/openvidu-test-e2e/docker/openvidu-test-e2e-android/Dockerfile b/openvidu-test-e2e/docker/openvidu-test-e2e-android/Dockerfile index 92083c545..75c8c3be3 100644 --- a/openvidu-test-e2e/docker/openvidu-test-e2e-android/Dockerfile +++ b/openvidu-test-e2e/docker/openvidu-test-e2e-android/Dockerfile @@ -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/*