From e6d776a9ce87bcebb25de8a2b79fa96da9486b9f Mon Sep 17 00:00:00 2001 From: Haroon Khel <34969545+Haroon-Khel@users.noreply.github.com> Date: Thu, 13 Jun 2024 00:01:02 +0800 Subject: [PATCH] docker: Add ubi9 docker static dockerfile (#3592) * docker: Add ubi9 docker static dockerfile * change yum to dnf, remove libnss3.so --- .../DockerStatic/Dockerfiles/Dockerfile.ubi9 | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.ubi9 diff --git a/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.ubi9 b/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.ubi9 new file mode 100644 index 0000000000..ed08ae9364 --- /dev/null +++ b/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.ubi9 @@ -0,0 +1,55 @@ +FROM redhat/ubi9 +# Install Base Requirements +RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +RUN dnf -y update && dnf install -y perl openssh-server unzip zip wget epel-release +RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -P "" +# Install Additional Repos +RUN wget 'https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-9.0-26.el9.noarch.rpm' -O /tmp/gpgkey.rpm +ARG GPG_CHECKSUM=8d601d9f96356a200ad6ed8e5cb49bbac4aa3c4b762d10a23e11311daa5711ca +RUN ACTUAL_CHECKSUM=$(sha256sum /tmp/gpgkey.rpm | awk '{print $1}') \ + && if [ "$ACTUAL_CHECKSUM" != "$GPG_CHECKSUM" ]; then \ + echo "Checksum mismatch! Aborting installation."; \ + exit 1; \ + fi +RUN rpm -i '/tmp/gpgkey.rpm' +RUN wget 'https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-9.0-26.el9.noarch.rpm' -O /tmp/centosrepos.rpm +ARG REPO_CHECKSUM=eb3b55a5cf0e1a93a91cd2d39035bd1754b46f69ff3d062b3331e765b2345035 +RUN ACTUAL_CHECKSUM=$(sha256sum /tmp/centosrepos.rpm | awk '{print $1}') \ + && if [ "$ACTUAL_CHECKSUM" != "$REPO_CHECKSUM" ]; then \ + echo "Checksum mismatch! Aborting installation."; \ + exit 1; \ + fi +RUN rpm -i '/tmp/centosrepos.rpm' +# Get latest jdk17 ga +RUN wget -q 'https://api.adoptium.net/v3/binary/latest/17/ga/linux/x64/jdk/hotspot/normal/eclipse?project=jdk' -O /tmp/jdk17.tar.gz +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B +# Get sig file for latest jdk17 ga +RUN wget -q `curl -s 'https://api.adoptium.net/v3/assets/feature_releases/17/ga?architecture=x64&heap_size=normal&image_type=jdk&jvm_impl=hotspot&os=linux&page=0&page_size=1&project=jdk&vendor=eclipse' | grep signature_link | awk '{split($0,a,"\""); print a[4]}'` -O /tmp/jdk17.sig +RUN gpg --verify /tmp/jdk17.sig /tmp/jdk17.tar.gz +RUN mkdir -p /usr/lib/jvm/jdk17 && tar -xpzf /tmp/jdk17.tar.gz -C /usr/lib/jvm/jdk17 --strip-components=1 +# Install ant via WGET +RUN wget -q -O /tmp/ant.zip 'https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.5-bin.zip' +RUN wget -q -O /tmp/ant-contrib.tgz https://sourceforge.net/projects/ant-contrib/files/ant-contrib/ant-contrib-1.0b2/ant-contrib-1.0b2-bin.tar.gz +RUN echo "2e48f9e429d67708f5690bc307232f08440d01ebe414059292b6543971da9c7cd259c21533b9163b4dd753321c17bd917adf8407d03245a0945fc30a4e633163 /tmp/ant.zip" > /tmp/ant.sha512 +RUN echo "0fd2771dca2b8b014a4cb3246715b32e20ad5d26754186d82eee781507a183d5e63064890b95eb27c091c93c1209528a0b18a6d7e6901899319492a7610e74ad /tmp/ant-contrib.tgz" >> /tmp/ant.sha512 +RUN sha512sum --check --strict /tmp/ant.sha512 +RUN ln -s /usr/local/apache-ant-1.10.5/bin/ant /usr/bin/ant +RUN unzip -q -d /usr/local /tmp/ant.zip +RUN tar xpfz /tmp/ant-contrib.tgz -C /usr/local/apache-ant-1.10.5/lib --strip-components=2 ant-contrib/lib/ant-contrib.jar +# Housekeep Downloaded Archives +RUN rm /tmp/jdk17.tar.gz /tmp/ant.zip /tmp/ant-contrib.tgz /tmp/gpgkey.rpm /tmp/jdk17.sig +# Set up jenkins user +RUN useradd -m -d /home/jenkins jenkins +RUN mkdir /home/jenkins/.ssh +RUN echo "Jenkins_User_SSHKey" > /home/jenkins/.ssh/authorized_keys +RUN chown -R jenkins /home/jenkins/.ssh +RUN chmod -R og-rwx /home/jenkins/.ssh +# RUN service ssh start +CMD ["/usr/sbin/sshd","-D"] +RUN dnf install -y git make gcc xorg-x11-server-Xvfb libXrender libXi libXtst fontconfig fakeroot procps-ng hostname diffutils +RUN dnf install -y coreutils --allowerasing curl +# Install SSL Test packages +RUN dnf install -y gnutls gnutls-utils nss nss-tools +# ENTRYPOINT /usr/lib/jvm/jdk17/bin/java +EXPOSE 22 +# Start with docker run -p 2222:22 UUID