Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Usa esta tarea para compilar con una secuencia de comandos de Gradle wrapper.
Sintaxis
# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
#workingDirectory: # string. Alias: cwd. Working directory.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to Azure Pipelines. Default: true.
testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml.
#testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title.
# Code Coverage
#codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. Class files directories. Default: build/classes/main/.
#codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters.
#codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
#codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
# Advanced
javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
#jdkVersionOption: 'default' # 'default' | '1.17' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
#jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path.
#jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
#gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
#sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
#sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
#checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
#findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
#pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
#spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
#spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
#spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.
# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
#workingDirectory: # string. Alias: cwd. Working directory.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to Azure Pipelines. Default: true.
testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml.
#testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title.
# Code Coverage
#codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. Class files directories. Default: build/classes/main/.
#codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters.
#codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
#codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
# Advanced
javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
#jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
#jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path.
#jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
#gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
#sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
#sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
#checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
#findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
#pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
#spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
#spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
#spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.
Entradas
gradleWrapperFile
-
Envoltura de Gradle
Alias de entrada: wrapperScript
.
string
. Obligatorio. Valor predeterminado: gradlew
.
Especifica la ubicación del gradlew
contenedor dentro del repositorio que se utilizará para la compilación. Los agentes de Windows (incluidos los agentes hospedados por Microsoft) deben usar el contenedor gradlew.bat
. Los agentes en Linux o macOS pueden usar el script de shell de gradlew
. Obtén más información sobre el envoltorio de Gradle. Si el contenedor de Gradle no está en el directorio raíz, especifica la ruta de acceso a la secuencia de comandos del contenedor. Por ejemplo: subdir/gradlew
.
de directorio de trabajo de
Alias de entrada: cwd
.
string
.
Especifica el directorio de trabajo para ejecutar la compilación de Gradle. La tarea utiliza el directorio raíz del repositorio si no se especifica el directorio de trabajo.
opciones de options
-
string
.
Especifica las opciones de la línea de comandos que se pasarán al contenedor de Gradle. Consulta la línea de comandos de Gradle para obtener más información.
tasks
-
Tareas
string
. Obligatorio. Valor predeterminado: build
.
Las tareas que Gradle debe ejecutar. Una lista de nombres de tareas debe estar separada por espacios y se puede tomar de gradlew tasks
un símbolo del sistema.
Consulta Conceptos básicos de las secuencias de comandos de compilación de Gradle para obtener más información.
publishJUnitResults
-
publicar en Azure Pipelines
boolean
. Valor predeterminado: true
.
Publica los resultados de las pruebas de JUnit generados por la compilación de Gradle en Azure Pipelines. La tarea publica cada archivo de resultados de prueba que coincida Test Results Files
como una ejecución de prueba en Azure Pipelines.
testResultsFiles
-
archivos de resultados de pruebas
string
. Obligatorio cuando publishJUnitResults = true
. Valor predeterminado: **/TEST-*.xml
.
Ruta de acceso del archivo para los resultados de las pruebas. Se pueden utilizar comodines. Por ejemplo, **/TEST-*.xml
para todos los archivos XML cuyo nombre comienza por TEST-
.
testRunTitle
-
título de ejecución de pruebas
string
. Opcional. Use cuando publishJUnitResults = true
.
Proporciona un nombre para los resultados del caso de prueba JUnit para esta compilación.
de la herramienta de cobertura de código de
Alias de entrada: codeCoverageTool
.
string
. Valores permitidos: None
, Cobertura
, JaCoCo
. Valor predeterminado: None
.
Especifica una herramienta de cobertura de código para determinar el código que se cubre en los casos de prueba de la compilación.
codeCoverageClassFilesDirectories
-
directorios de archivos de clase
Alias de entrada: classFilesDirectories
.
string
. Obligatorio cuando codeCoverageTool != None
. Valor predeterminado: build/classes/main/
.
La lista separada por comas de directorios que contienen archivos de clase y archivos de almacenamiento (.jar, .war y más). La cobertura de código se notifica para los archivos de clase de estos directorios. Normalmente, la tarea busca clases en build/classes/java/main
(para Gradle 4+), que es el directorio de clases predeterminado para las compilaciones de Gradle.
codeCoverageClassFilter
-
filtros de inclusión y exclusión de clases
Alias de entrada: classFilter
.
string
. Opcional. Use cuando codeCoverageTool != None
.
Lista separada por comas de filtros que se van a incluir o excluir clases de recopilación de cobertura de código. Por ejemplo: +:com.*
,+:org.*
,-:my.app*.*
.
codeCoverageFailIfEmpty
-
Error cuando faltan resultados de cobertura de código
Alias de entrada: failIfCoverageEmpty
.
boolean
. Opcional. Use cuando codeCoverageTool != None
. Valor predeterminado: false
.
Se produce un error en la compilación si la cobertura de código no genera ningún resultado para publicar.
codeCoverageGradle5xOrHigher
-
Versión de >Gradle = 5.x
Alias de entrada: gradle5xOrHigher
.
boolean
. Opcional. Use cuando codeCoverageTool = JaCoCo
. Valor predeterminado: true
.
Establécelo en 'true' si la versión de Gradle es >= 5.x.
javaHomeOption
-
Establecer JAVA_HOME
Alias de entrada: javaHomeSelection
.
string
. Obligatorio. Valores permitidos: JDKVersion
(versión de JDK), Path
. Valor predeterminado: JDKVersion
.
Establece JAVA_HOME seleccionando una versión de JDK que la tarea detecta durante las compilaciones o introduciendo manualmente una ruta de JDK.
de la versión de JDK de
Alias de entrada: jdkVersion
.
string
. Opcional. Use cuando javaHomeSelection = JDKVersion
. Valores permitidos: default
, 1.17
(JDK 17), 1.11
(JDK 11), 1.10
(JDK 10 (fuera de soporte)), 1.9
(JDK 9 (fuera de soporte)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (fuera de soporte)). Valor predeterminado: default
.
Intenta detectar la ruta de acceso a la versión de JDK seleccionada y establecer JAVA_HOME en consecuencia.
de la versión de JDK de
Alias de entrada: jdkVersion
.
string
. Opcional. Use cuando javaHomeSelection = JDKVersion
. Valores permitidos: default
, 1.11
(JDK 11), 1.10
(JDK 10 (fuera de soporte)), 1.9
(JDK 9 (fuera de soporte)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (fuera de soporte)). Valor predeterminado: default
.
Intenta detectar la ruta de acceso a la versión de JDK seleccionada y establecer JAVA_HOME en consecuencia.
jdkDirectory
-
de ruta de acceso de JDK
Alias de entrada: jdkUserInputPath
.
string
. Obligatorio cuando javaHomeSelection = Path
.
Establece JAVA_HOME en la ruta de acceso especificada.
de arquitectura de JDK de
Alias de entrada: jdkArchitecture
.
string
. Opcional. Use cuando jdkVersion != default
. Valores permitidos: x86
, x64
. Valor predeterminado: x64
.
Suministra la arquitectura JDK (x86 o x64).
gradleOptions
-
Conjunto GRADLE_OPTS
Alias de entrada: gradleOpts
.
string
. Valor predeterminado: -Xmx1024m
.
Establece la variable de entorno GRADLE_OPTS, que se utiliza para enviar argumentos de línea de mandatos para iniciar la JVM. La marca xmx
especifica la memoria máxima disponible para la JVM.
sonarQubeRunAnalysis
-
Ejecute el análisis de SonarQube o SonarCloud
Alias de entrada: sqAnalysisEnabled
.
boolean
. Valor predeterminado: false
.
Esta opción ha cambiado de la versión 1 de la tarea de Gradle para usar las extensiones de mercado SonarQube y SonarCloud . Habilite esta opción para ejecutar análisis de SonarQube o SonarCloud después de ejecutar tareas en el campo Tareas . También debes agregar una tarea Prepare Analysis Configuration desde una de las extensiones a la canalización de compilación antes de esta tarea de Gradle.
sqGradlePluginVersionChoice
-
Escáner SonarQube para la versión Gradle
string
. Obligatorio cuando sqAnalysisEnabled = true
. Valores permitidos: specify
(Especifica el número de versión), build
(Usa el complemento aplicado en tu build.gradle). Valor predeterminado: specify
.
Especifica la versión del complemento SonarQube para Gradle que se va a usar. Declara la versión en el archivo de configuración de Gradle o especifica una versión con esta string.
sonarQubeGradlePluginVersion
-
Escáner SonarQube para la versión del plugin de Gradle
Alias de entrada: sqGradlePluginVersion
.
string
. Obligatorio cuando sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify
. Valor predeterminado: 2.6.1
.
Contiene el número de versión del complemento SonarQube para Gradle.
checkStyleRunAnalysis
-
ejecutar checkstyle
Alias de entrada: checkstyleAnalysisEnabled
.
boolean
. Valor predeterminado: false
.
Ejecuta la herramienta Checkstyle con las comprobaciones predeterminadas de Sun. Los resultados se cargan como artefactos de compilación.
findBugsRunAnalysis
-
ejecutar findbugs
Alias de entrada: findbugsAnalysisEnabled
.
boolean
. Valor predeterminado: false
.
Usa la herramienta de análisis estático FindBugs para buscar errores en el código. Los resultados se cargan como artefactos de compilación. En Gradle 6.0, se eliminó este complemento. En su lugar, utiliza el plugin SpotBugs.
pmdRunAnalysis
-
ejecutar pmD
Alias de entrada: pmdAnalysisEnabled
.
boolean
. Valor predeterminado: false
.
Utiliza la herramienta de análisis estático Java PMD para buscar errores en el código. Los resultados se cargan como artefactos de compilación.
spotBugsAnalysis
-
Ejecutar SpotBugs
Alias de entrada: spotBugsAnalysisEnabled
.
boolean
. Valor predeterminado: false
.
Se ejecuta spotBugs
cuando true
. Este complemento funciona con Gradle v5.6 o posterior. Obtén más información sobre cómo usar el complemento de SpotBugs para Gradle. Es posible que el complemento funcione de manera inesperada o que no funcione en absoluto con una versión anterior de Gradle.
spotBugsGradlePluginVersionChoice
-
Versión del plugin Spotbugs
string
. Obligatorio cuando spotBugsAnalysisEnabled = true
. Valores permitidos: specify
(Especifica el número de versión), build
(Usa el complemento aplicado en tu build.gradle). Valor predeterminado: specify
.
Especifica la versión del complemento de Gradle de SpotBugs que se va a usar. La versión se puede declarar en el archivo de configuración de Gradle o la versión se puede especificar en esta cadena.
spotbugsGradlePluginVersion
-
número de versión
string
. Obligatorio cuando spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify
. Valor predeterminado: 4.7.0
.
Contiene el número de versión del complemento de SpotBugs para Gradle.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
La configuración del análisis de SonarQube se movió a las extensiones SonarQube o SonarCloud en la tarea Prepare Analysis Configuration
.
Usa esta tarea para compilar con una secuencia de comandos de Gradle wrapper.
¿Cómo genero un contenedor a partir de mi proyecto de Gradle?
El contenedor de Gradle permite que el agente de compilación descargue y configure el entorno exacto de Gradle que se registra en el repositorio sin tener ninguna configuración de software en el agente de compilación que no sea la JVM.
Para crear el contenedor de Gradle, emite el siguiente comando desde el directorio raíz del proyecto donde reside tu build.gradle:
jamal@fabrikam> gradle wrapper
Sube tu contenedor de Gradle a tu repositorio remoto.
Hay un artefacto binario que es generado por el contenedor de Gradle (ubicado en
gradle/wrapper/gradle-wrapper.jar
). Este archivo binario es pequeño y no requiere actualización. Si necesitas cambiar la configuración de Gradle que se ejecuta en el agente de compilación, actualiza elgradle-wrapper.properties
archivo .El repositorio debería tener un aspecto similar al siguiente:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
¿Cómo se corrigen los tiempos de espera al descargar dependencias?
Para corregir errores, como Read timed out
al descargar dependencias, los usuarios de Gradle 4.3+ pueden cambiar el tiempo de espera agregando -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
a Options
. Esto aumenta el tiempo de espera de 10 segundos a 1 minuto.
Ejemplos
Compila tu app de Java con Gradle
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica |
Se ejecuta en | Agente, DeploymentGroup |
Demandas | Ninguno |
Capacidades | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
Restricciones de comandos | Cualquiera |
variables settable | Cualquiera |
Versión del agente | 1.91.0 o superior |
Categoría de tarea | Construir |