mirror of
https://github.com/tiennm99/docker-images.git
synced 2026-10-16 10:15:09 +00:00
feat(gradle): update dockerfile
This commit is contained in:
1 parent
ef14f53213
commit
eb028c8ee1
3 files changed
+86
-27
No files matched your search
@@ -6,6 +6,7 @@ on:
|
|||||||
- 'main'
|
- 'main'
|
||||||
paths:
|
paths:
|
||||||
- 'gradle-8/**'
|
- 'gradle-8/**'
|
||||||
|
- '.github/workflows/publish-gradle-8.yml'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -41,6 +42,9 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_USERNAME }}/gradle-8
|
${{ secrets.DOCKER_USERNAME }}/gradle-8
|
||||||
ghcr.io/${{ github.actor }}/gradle-8
|
ghcr.io/${{ github.actor }}/gradle-8
|
||||||
|
tags: |
|
||||||
|
type=raw,value=latest
|
||||||
|
type=raw,value=8.13
|
||||||
|
|
||||||
- name: Build and push Docker images
|
- name: Build and push Docker images
|
||||||
id: push
|
id: push
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ More options: https://github.com/tiennm99/docker-images/pkgs/container/docker-im
|
|||||||
|
|
||||||
### Credits
|
### Credits
|
||||||
|
|
||||||
- https://gradle.org/releases/#8.14.3
|
- https://gradle.org/releases/#8.13
|
||||||
<!-- - https://github.com/gradle/docker-gradle/blob/8/jdk8-jammy/Dockerfile -->
|
- https://github.com/gradle/docker-gradle/blob/8/jdk8-corretto/Dockerfile
|
||||||
|
|
||||||
## Oracle JDK 8
|
## Oracle JDK 8
|
||||||
|
|
||||||
|
|||||||
+80
-25
@@ -1,33 +1,88 @@
|
|||||||
FROM ghcr.io/tiennm99/docker-images/oraclejdk-8:8u201
|
FROM ghcr.io/tiennm99/oraclejdk-8:8u201
|
||||||
|
|
||||||
# Set environment variables
|
CMD ["gradle"]
|
||||||
ENV GRADLE_HOME /opt/gradle
|
|
||||||
ENV PATH $GRADLE_HOME/bin:$PATH
|
|
||||||
ENV GRADLE_VERSION 8.14.3
|
|
||||||
|
|
||||||
# Install dependencies
|
ENV GRADLE_HOME=/opt/gradle
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y wget unzip && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Download and install Gradle
|
RUN set -o errexit -o nounset \
|
||||||
RUN wget -O gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" && \
|
&& sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo \
|
||||||
mkdir -p /opt && \
|
&& sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo \
|
||||||
unzip -d /opt gradle.zip && \
|
&& yum install -y deltarpm \
|
||||||
mv /opt/gradle-${GRADLE_VERSION} /opt/gradle && \
|
&& yum install -y epel-release \
|
||||||
rm gradle.zip
|
&& 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
|
||||||
|
|
||||||
# Create a non-root user
|
RUN set -o errexit -o nounset \
|
||||||
RUN groupadd -r gradle && useradd -r -g gradle gradle
|
&& 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
|
||||||
|
|
||||||
# Set ownership
|
VOLUME /home/gradle/.gradle
|
||||||
RUN chown -R gradle:gradle /opt/gradle
|
|
||||||
|
|
||||||
# Switch to the gradle user
|
|
||||||
USER gradle
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /home/gradle
|
WORKDIR /home/gradle
|
||||||
|
|
||||||
# Default command
|
ENV GRADLE_VERSION=8.13
|
||||||
CMD ["gradle", "--version"]
|
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
|
||||||
Reference in new issue
Block a user