Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
To zadanie służy do kompilowania przy użyciu skryptu otoki narzędzia Gradle.
Składnia
# 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.
Dane wejściowe
otoki gradleWrapperFile
- Gradle
Alias wejściowy: wrapperScript
.
string
. To jest wymagane. Wartość domyślna: gradlew
.
Określa lokalizację otoki gradlew
w repozytorium, które będą używane do kompilacji. Agenci w systemie Windows (w tym agenci hostowani przez firmę Microsoft) muszą używać otoki gradlew.bat
. Agenci w systemie Linux lub macOS mogą używać skryptu powłoki gradlew
. Dowiedz się więcej o Gradle Wrapper. Jeśli otoka narzędzia Gradle nie znajduje się w katalogu głównym, określ ścieżkę do skryptu otoki. Na przykład subdir/gradlew
.
katalogu roboczego
Alias wejściowy: cwd
.
string
.
Określa katalog roboczy do uruchomienia kompilacji narzędzia Gradle. Zadanie używa katalogu głównego repozytorium, jeśli katalog roboczy nie jest określony.
opcje options
-
string
.
Określa opcje wiersza polecenia, które zostaną przekazane do otoki Gradle. Aby uzyskać więcej informacji, zobacz wiersza polecenia narzędzia Gradle.
zadań tasks
-
string
. To jest wymagane. Wartość domyślna: build
.
Zadania podrzędne programu Gradle do wykonania. Lista nazw zadań powinna być oddzielona spacjami i może zostać pobrana z gradlew tasks
wystawionych z wiersza polecenia.
Aby uzyskać więcej informacji, zobacz Podstaw y skryptu kompilacji narzędzia Gradle.
publishJUnitResults
-
publikowanie w usłudze Azure Pipelines
boolean
. Wartość domyślna: true
.
Publikuje wyniki testów narzędzia JUnit wygenerowane przez kompilację narzędzia Gradle w usłudze Azure Pipelines. Zadanie publikuje każdy plik wyników testu pasujący Test Results Files
jako przebieg testu w usłudze Azure Pipelines.
testResultsFiles
-
pliki wyników testów
string
. Wymagane, gdy publishJUnitResults = true
. Wartość domyślna: **/TEST-*.xml
.
Ścieżka pliku dla wyników testu.
można użyć symboli wieloznacznych. Na przykład **/TEST-*.xml
dla wszystkich plików XML, których nazwa zaczyna się od TEST-
.
testRunTitle
-
tytuł przebiegu testu
string
. Opcjonalny. Użyj polecenia , gdy publishJUnitResults = true
.
Zawiera nazwę wyników przypadku testowego JUnit dla tej kompilacji.
narzędzia pokrycia kodu codeCoverageToolOption
-
Alias wejściowy: codeCoverageTool
.
string
. Dozwolone wartości: None
, Cobertura
, JaCoCo
. Wartość domyślna: None
.
Określa narzędzie pokrycia kodu w celu określenia kodu objętego przypadkami testowymi kompilacji.
katalogi plików klasy codeCoverageClassFilesDirectories
-
Alias wejściowy: classFilesDirectories
.
string
. Wymagane, gdy codeCoverageTool != None
. Wartość domyślna: build/classes/main/
.
Rozdzielona przecinkami lista katalogów zawierających pliki klas i pliki archiwum (.jar, war i inne). Pokrycie kodu jest zgłaszane dla plików klas w tych katalogach. Zwykle klasy zadań wyszukują w build/classes/java/main
(dla wersji Gradle 4+), która jest domyślnym katalogem klas kompilacji narzędzia Gradle.
codeCoverageClassFilter
-
filtry dołączania/wykluczania klas
Alias wejściowy: classFilter
.
string
. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None
.
Rozdzielona przecinkami lista filtrów do uwzględnienia lub wykluczenia klas ze zbierania pokrycia kodu. Na przykład: +:com.*
,+:org.*
,-:my.app*.*
.
codeCoverageFailIfEmpty
-
Niepowodzenie, gdy brakuje wyników pokrycia kodu
Alias wejściowy: failIfCoverageEmpty
.
boolean
. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None
. Wartość domyślna: false
.
Kompilacja kończy się niepowodzeniem, jeśli pokrycie kodu nie wygenerowało żadnych wyników do opublikowania.
codeCoverageGradle5xOrHigher
-
wersji narzędzia Gradle >= 5.x
Alias wejściowy: gradle5xOrHigher
.
boolean
. Opcjonalny. Użyj polecenia , gdy codeCoverageTool = JaCoCo
. Wartość domyślna: true
.
Ustaw wartość "true", jeśli wersja narzędzia gradle jest >= 5.x.
javaHomeOption
-
ustaw JAVA_HOME według
Alias wejściowy: javaHomeSelection
.
string
. To jest wymagane. Dozwolone wartości: JDKVersion
(wersja zestawu JDK), Path
. Wartość domyślna: JDKVersion
.
Ustawia JAVA_HOME, wybierając wersję zestawu JDK odnajdyną podczas kompilacji lub ręcznie wprowadzając ścieżkę zestawu JDK.
Alias wejściowy: jdkVersion
.
string
. Opcjonalny. Użyj polecenia , gdy javaHomeSelection = JDKVersion
. Dozwolone wartości: default
, 1.17
(JDK 17), 1.11
(JDK 11), 1.10
(JDK 10 (brak obsługi),1.9
(JDK 9 (brak obsługi)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (brak obsługi)). Wartość domyślna: default
.
Próbuje odnaleźć ścieżkę do wybranej wersji zestawu JDK i odpowiednio ustawić JAVA_HOME.
Alias wejściowy: jdkVersion
.
string
. Opcjonalny. Użyj polecenia , gdy javaHomeSelection = JDKVersion
. Dozwolone wartości: default
, 1.11
(JDK 11), 1.10
(JDK 10 (brak obsługi),1.9
(JDK 9 (brak obsługi)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (brak obsługi)). Wartość domyślna: default
.
Próbuje odnaleźć ścieżkę do wybranej wersji zestawu JDK i odpowiednio ustawić JAVA_HOME.
ścieżki zestawu jdkDirectory
- JDK
Alias wejściowy: jdkUserInputPath
.
string
. Wymagane, gdy javaHomeSelection = Path
.
Ustawia JAVA_HOME na daną ścieżkę.
architektura zestawu jdkArchitectureOption
- JDK
Alias wejściowy: jdkArchitecture
.
string
. Opcjonalny. Użyj polecenia , gdy jdkVersion != default
. Dozwolone wartości: x86
, x64
. Wartość domyślna: x64
.
Dostarcza architekturę zestawu JDK (x86 lub x64).
gradleOptions
-
Ustaw GRADLE_OPTS
Alias wejściowy: gradleOpts
.
string
. Wartość domyślna: -Xmx1024m
.
Ustawia zmienną środowiskową GRADLE_OPTS, która służy do wysyłania argumentów wiersza polecenia w celu uruchomienia maszyny wirtualnej JVM. Flaga xmx
określa maksymalną ilość pamięci dostępnej dla maszyny JVM.
sonarQubeRunAnalysis
-
uruchom SonarQube lub SonarCloud Analysis
Alias wejściowy: sqAnalysisEnabled
.
boolean
. Wartość domyślna: false
.
Ta opcja została zmieniona z wersji 1 zadania Gradle w celu korzystania z SonarQube i rozszerzeniami witryny Marketplace sonarCloud. Włącz tę opcję, aby uruchomić analizy SonarQube lub SonarCloud po wykonaniu zadań w polu zadania. Należy również dodać zadanie Prepare Analysis Configuration z jednego z rozszerzeń do potoku kompilacji przed tym zadaniem narzędzia Gradle.
sqGradlePluginVersionChoice
-
skaner SonarQube dla wersji narzędzia Gradle
string
. Wymagane, gdy sqAnalysisEnabled = true
. Dozwolone wartości: specify
(Określ numer wersji), build
(użyj wtyczki zastosowanej w pliku build.gradle). Wartość domyślna: specify
.
Określa wersję wtyczki SonarQube Gradle do użycia. Zadeklaruj wersję w pliku konfiguracji narzędzia Gradle lub określ wersję za pomocą tego ciągu.
sonarQubeGradlePluginVersion
-
skaner SonarQube dla wersji wtyczki Gradle
Alias wejściowy: sqGradlePluginVersion
.
string
. Wymagane, gdy sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify
. Wartość domyślna: 2.6.1
.
Zawiera numer wersji wtyczki SonarQube Gradle.
checkStyleRunAnalysis
-
Uruchom styl kontrolny
Alias wejściowy: checkstyleAnalysisEnabled
.
boolean
. Wartość domyślna: false
.
Uruchamia narzędzie Checkstyle z domyślnym sprawdzaniem sun. Wyniki są przekazywane jako artefakty kompilacji.
findBugsRunAnalysis
-
uruchamianie FindBugs
Alias wejściowy: findbugsAnalysisEnabled
.
boolean
. Wartość domyślna: false
.
Używa narzędzia do analizy statycznej FindBugs, aby wyszukać usterki w kodzie. Wyniki są przekazywane jako artefakty kompilacji. W wersji Gradle 6.0 ta wtyczka została usunięta. Zamiast tego użyj wtyczki SpotBugs.
pmdRunAnalysis
-
uruchom PMD
Alias wejściowy: pmdAnalysisEnabled
.
boolean
. Wartość domyślna: false
.
Używa narzędzia do analizy statycznej języka Java PMD, aby wyszukać błędy w kodzie. Wyniki są przekazywane jako artefakty kompilacji.
spotBugsAnalysis
-
run spotBugs
Alias wejściowy: spotBugsAnalysisEnabled
.
boolean
. Wartość domyślna: false
.
Uruchamia spotBugs
, gdy true
. Ta wtyczka działa z programem Gradle w wersji 5.6 lub nowszej. Dowiedz się więcej o przy użyciu wtyczki SpotBugs Gradle. Wtyczka może działać w nieoczekiwany sposób lub w ogóle nie działa z wcześniejszą wersją narzędzia Gradle.
wersji wtyczki spotBugsGradlePluginVersionChoice
- Spotbugs
string
. Wymagane, gdy spotBugsAnalysisEnabled = true
. Dozwolone wartości: specify
(Określ numer wersji), build
(użyj wtyczki zastosowanej w pliku build.gradle). Wartość domyślna: specify
.
Określa wersję wtyczki SpotBugs Gradle do użycia. Wersję można zadeklarować w pliku konfiguracji narzędzia Gradle lub wersję można określić w tym ciągu.
spotbugsGradlePluginVersion
-
numer wersji
string
. Wymagane, gdy spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify
. Wartość domyślna: 4.7.0
.
Zawiera numer wersji wtyczki SpotBugs Gradle.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Uwagi
Konfiguracja analizy SonarQube została przeniesiona do rozszerzeń SonarQube lub SonarCloud w zadaniu Prepare Analysis Configuration
.
To zadanie służy do kompilowania przy użyciu skryptu otoki narzędzia Gradle.
Jak mogę wygenerować otokę z mojego projektu Gradle?
Otoka narzędzia Gradle umożliwia agentowi kompilacji pobranie i skonfigurowanie dokładnego środowiska Gradle zaewidencjonowane w repozytorium bez konieczności posiadania żadnej konfiguracji oprogramowania na samym agencie kompilacji innym niż maszyna wirtualna JVM.
Utwórz otokę narzędzia Gradle, wydając następujące polecenie z katalogu głównego projektu, w którym znajduje się plik build.gradle:
jamal@fabrikam> gradle wrapper
Przekaż otokę narzędzia Gradle do repozytorium zdalnego.
Istnieje artefakt binarny generowany przez otokę gradle (znajdującą się w
gradle/wrapper/gradle-wrapper.jar
). Ten plik binarny jest mały i nie wymaga aktualizacji. Jeśli musisz zmienić konfigurację narzędzia Gradle uruchomioną na agencie kompilacji, zaktualizujgradle-wrapper.properties
.Repozytorium powinno wyglądać mniej więcej tak:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Jak mogę naprawić limity czasu podczas pobierania zależności?
Aby naprawić błędy, takie jak Read timed out
podczas pobierania zależności, użytkownicy programu Gradle w wersji 4.3 lub nowszej mogą zmieniać limit czasu, dodając -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
do Options
. Zwiększa to limit czasu z 10 sekund do 1 minuty.
Przykłady
tworzenie aplikacji Java przy użyciu Gradle
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 1.91.0 lub nowsza |
Kategoria zadań | Zbuduj |