A logo showing the text blog.marcnuri.com
English
Inicio»Java»Gradle: Cómo añadir Gradle Wrapper desde Docker

Entradas Recientes

  • Fabric8 Kubernetes Client 7.2.0 está disponible!
  • Conectarse a un servidor MCP con JavaScript y AI SDK
  • Conectarse a un servidor MCP con JavaScript y LangChain.js
  • El Futuro de las Herramientas para Desarrolladores en la era de la IA
  • Conectarse a un servidor Model Context Protocol (MCP) con Java y LangChain4j

Categorías

  • Antiguo
  • Front-end
  • Go
  • Herramientas
  • Industria y negocios
  • Inteligencia Artificial
  • Java
  • JavaScript
  • Operaciones
  • Personal
  • Proyectos personales

Archivos

  • mayo 2025
  • abril 2025
  • marzo 2025
  • febrero 2025
  • enero 2025
  • diciembre 2024
  • noviembre 2024
  • agosto 2024
  • junio 2024
  • mayo 2024
  • abril 2024
  • marzo 2024
  • febrero 2024
  • enero 2024
  • diciembre 2023
  • noviembre 2023
  • octubre 2023
  • septiembre 2023
  • agosto 2023
  • julio 2023
  • junio 2023
  • mayo 2023
  • abril 2023
  • marzo 2023
  • febrero 2023
  • enero 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022
  • agosto 2022
  • julio 2022
  • mayo 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • diciembre 2020
  • octubre 2020
  • agosto 2020
  • junio 2020
  • mayo 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • noviembre 2019
  • octubre 2019
  • julio 2019
  • diciembre 2018
  • agosto 2018
  • julio 2018
  • junio 2018
  • mayo 2018
  • marzo 2018
  • febrero 2018
  • noviembre 2017
  • octubre 2017
  • agosto 2017
  • julio 2017
  • enero 2017
  • julio 2016
  • enero 2016
  • diciembre 2015
  • noviembre 2015
  • diciembre 2014
  • marzo 2014
  • febrero 2011
  • junio 2008
  • mayo 2008
  • abril 2008
  • enero 2008
  • junio 2007
  • mayo 2007
  • abril 2007
  • marzo 2007

Gradle: Cómo añadir Gradle Wrapper desde Docker

2021-07-23 en Java etiquetado Docker / Gradle / Java / Consejo breve por Marc Nuri | Última actualización: 2021-07-23
English version

Gradle Wrapper

Gradle recomienda Gradle Wrapper como la mejor forma de ejecutar cualquier Gradle build. Gradle Wrapper es un script que descarga e invoca una versión específica de Gradle. Esto supone dos ventajas. La primera es que no necesitas tener Gradle en tu entorno. La segunda es que puedes garantizar que el build script siempre se ejecuta con la misma versión de Gradle.

Añadir el Gradle Wrapper es tan fácil como ejecutar el siguiente comando:

$ gradle wrapper
> Task :wrapper

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

Tal como se describe en la documentación de Gradle, el proceso es realmente sencillo. Además de añadir el Wrapper, también puedes configurar sus propiedades empleando algunas opciones en la línea de comandos: --gradle-version, --gradle-distribution-url,--distribution-type, etc. No obstante, esto asume que ya dispones de una instalación de Gradle disponible en tu sistema (esto es un poco contradictorio).

Añadir Gradle Wrapper desde Docker

Si no dispones de Gradle, pero sí de Docker, todavía puedes añadir el Wrapper. El siguiente comando añadirá el Wrapper utilizando Docker en lugar de una instalación local:

docker run --rm                               \
  -u "$(id -u):$(id -g)"                      \
  -v $(pwd):/opt/gen                          \
  -w /opt/gen                                 \
  gradle:6.9-jre /usr/bin/gradle wrapper

El comportamiento es muy similar a si ejecutásemos el comando empleando una distribución local de Gradle, así que las mismas opciones de la línea de comandos son válidas:

docker run --rm                               \
  -u "$(id -u):$(id -g)"                      \
  -v $(pwd):/opt/gen                          \
  -w /opt/gen                                 \
  gradle:6.9-jre /usr/bin/gradle wrapper --gradle-version 7.1.1 --distribution-type all

El comando anterior ejecuta /usr/bin/gradle (el comando proporcionado), en el contenedor basado en la imagen de Docker gradle:6.9-jre.

  • --rm elimina el contenedor una vez la ejecución del comando ha terminado.
  • -u "$(id -u):$(id -g)" fuerza a que el contenedor se ejecute con el user:group actual del sistema anfitrión. Esto permite que gradle genere los ficheros del Wrapper con los permisos correctos.
  • -v $(pwd):/opt/gen monta el directorio actual en el contenedor de forma que los ficheros generados se persistan localmente.
  • -w /opt/gen fija el directorio de trabajo para que gradle genere el Wrapper en el directorio que hemos montado.

Por último, para hacer que los ficheros del Gradle Wrapper estén disponibles para el resto del equipo, debes de registrar los siguientes ficheros en tu sistema de control de versiones (todos excepto los contenidos en el directorio .gradle):

├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
└── gradlew.bat
Una imagen del logo de Gradle sobre el logo de blog.marcnuri.com
Una imagen del logo de Gradle sobre el logo de blog.marcnuri.com
Twitter iconFacebook iconLinkedIn iconPinterest iconEmail icon

Navegador de artículos
Eclipse JKube 1.4.0 está disponible!Cómo instalar Prometheus y Grafana en Minikube
© 2007 - 2025 Marc Nuri