mirror of
https://github.com/tiennm99/docker-images.git
synced 2026-10-13 20:14:54 +00:00
Convention B (Docker-Hub-style <service>:<full-version>) completes the gradle+oraclejdk migration. Workflow flips images/tags/subject-name from gradle-8 to gradle; 8 major-line alias added. Dockerfile FROM now references the new oraclejdk:8u201 package name from the prior commit; LABEL maintainer was missing and is added alongside 5 OCI image-spec keys. Both metadata-action labels: block and Dockerfile LABEL lines carry the same values so manual and CI builds match. Sequencing: must land after the prior commit's CI publishes ghcr.io/tiennm99/oraclejdk:8u201, otherwise the gradle CI build will fail until oraclejdk re-publishes.
96 lines
2.8 KiB
Docker
96 lines
2.8 KiB
Docker
FROM ghcr.io/tiennm99/oraclejdk:8u201
|
|
|
|
LABEL maintainer="miti99 <tiennm99@outlook.com>"
|
|
LABEL org.opencontainers.image.title="Gradle 8"
|
|
LABEL org.opencontainers.image.description="Gradle 8.13 on Oracle JDK 8 base"
|
|
LABEL org.opencontainers.image.version="8.13"
|
|
LABEL org.opencontainers.image.source="https://github.com/gradle/docker-gradle"
|
|
LABEL org.opencontainers.image.licenses="Apache-2.0"
|
|
|
|
CMD ["gradle"]
|
|
|
|
ENV GRADLE_HOME=/opt/gradle
|
|
|
|
RUN set -o errexit -o nounset \
|
|
&& sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo \
|
|
&& sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo \
|
|
&& yum install -y deltarpm \
|
|
&& yum install -y epel-release \
|
|
&& yum install -y \
|
|
# common utilities
|
|
make \
|
|
tar \
|
|
\
|
|
# Dockerfile dependencies
|
|
unzip \
|
|
wget \
|
|
which \
|
|
\
|
|
# Gradle dependencies
|
|
findutils \
|
|
\
|
|
# VCS dependencies
|
|
git \
|
|
git-lfs \
|
|
mercurial \
|
|
subversion \
|
|
&& yum clean all \
|
|
&& rm -rf /var/cache/yum \
|
|
\
|
|
&& echo "Testing common utilities" \
|
|
&& which awk \
|
|
&& which curl \
|
|
&& which cut \
|
|
&& which grep \
|
|
&& which gunzip \
|
|
&& which sha256sum \
|
|
&& which sed \
|
|
&& which tar \
|
|
&& which tr \
|
|
&& which unzip \
|
|
&& which wget \
|
|
\
|
|
&& echo "Testing VCSes" \
|
|
&& which git \
|
|
&& which git-lfs \
|
|
&& which hg \
|
|
&& which svn
|
|
|
|
RUN set -o errexit -o nounset \
|
|
&& echo "Adding gradle user and group" \
|
|
&& groupadd --system --gid 1000 gradle \
|
|
&& useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
|
|
&& mkdir /home/gradle/.gradle \
|
|
&& chown --recursive gradle:gradle /home/gradle \
|
|
&& chmod --recursive o+rwx /home/gradle \
|
|
\
|
|
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
|
|
&& ln --symbolic /home/gradle/.gradle /root/.gradle
|
|
|
|
VOLUME /home/gradle/.gradle
|
|
|
|
WORKDIR /home/gradle
|
|
|
|
ENV GRADLE_VERSION=8.13
|
|
ARG GRADLE_DOWNLOAD_SHA256=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
|
|
RUN set -o errexit -o nounset \
|
|
&& echo "Downloading Gradle" \
|
|
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
|
|
\
|
|
&& echo "Checking Gradle download hash" \
|
|
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
|
|
\
|
|
&& echo "Installing Gradle" \
|
|
&& unzip gradle.zip \
|
|
&& rm gradle.zip \
|
|
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
|
|
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle
|
|
|
|
USER gradle
|
|
|
|
RUN set -o errexit -o nounset \
|
|
&& echo "Testing Gradle installation" \
|
|
&& gradle --version
|
|
|
|
USER root
|