Notatka
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.
Skompiluj przy użyciu skryptu otoki Gradle.
Składnia
# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# Advanced
#workingDirectory: # string. Alias: cwd. Working Directory.
javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
#jdkVersionOption: 'default' # 'default' | '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.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/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 = false. 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.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
#sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint.
#sonarQubeProjectName: # string. Alias: sqProjectName. Required when sqAnalysisEnabled = true. SonarQube Project Name.
#sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key.
#sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version.
#sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
#sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
#sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String.
#sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username.
#sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password.
#sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
#sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+).
#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.
Dane wejściowe
gradleWrapperFile
-
otoki 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.
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.
katalogu roboczego workingDirectory -
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.
publishJUnitResults
-
publikowanie w programie TFS/Team Services
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.
pliki wyników testów testResultsFiles -
string. Wymagane, gdy publishJUnitResults = true. Wartość domyślna: **/build/test-results/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 klas codeCoverageClassFilesDirectories -
Alias wejściowy: classFilesDirectories.
string. Wymagane, gdy codeCoverageTool = false. 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
-
niepowodzeniem, 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.
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.
jdkVersionOption
-
wersji zestawu JDK
Alias wejściowy: jdkVersion.
string. Opcjonalny. Użyj polecenia , gdy javaHomeSelection = JDKVersion. Dozwolone wartości: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). 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 Analysis
Alias wejściowy: sqAnalysisEnabled.
boolean. Wartość domyślna: false.
Uruchamia analizę SonarQube po wykonaniu bieżących celów.
install lub package cele należy wykonać najpierw.
sonarQubeServiceEndpoint
-
punktu końcowego SonarQube
Alias wejściowy: sqConnectedServiceName.
string. Wymagane, gdy sqAnalysisEnabled = true.
Punkt końcowy określający serwer SonarQube do użycia.
sonarQubeProjectName
-
nazwa projektu SonarQube
Alias wejściowy: sqProjectName.
string. Wymagane, gdy sqAnalysisEnabled = true.
Nazwa projektu SonarQube, czyli sonar.projectName.
sonarQubeProjectKey
-
klucz projektu SonarQube
Alias wejściowy: sqProjectKey.
string. Wymagane, gdy sqAnalysisEnabled = true.
Unikatowy klucz projektu SonarQube, czyli sonar.projectKey.
sonarQubeProjectVersion
-
wersji projektu SonarQube
Alias wejściowy: sqProjectVersion.
string. Wymagane, gdy sqAnalysisEnabled = true.
Wersja projektu SonarQube, czyli sonar.projectVersion.
sonarQubeGradlePluginVersion
-
wtyczki SonarQube Gradle
Alias wejściowy: sqGradlePluginVersion.
string. Wymagane, gdy sqAnalysisEnabled = true. Wartość domyślna: 2.0.1.
Zawiera numer wersji wtyczki SpotBugs Gradle.
sonarQubeSpecifyDB
-
wersja serwera SonarQube jest niższa niż 5.2
Alias wejściowy: sqDbDetailsRequired.
boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true. Wartość domyślna: false.
Tylko serwer SonarQube 5.1 i niższy. Określa szczegóły połączenia z bazą danych.
sonarQubeDBUrl
-
db parametry połączenia
Alias wejściowy: sqDbUrl.
string. Opcjonalny. Użyj polecenia , gdy sqDbDetailsRequired = true.
Serwer SonarQube w wersji 5.1 i niższej. Wprowadza ustawienie połączenia z bazą danych, czyli sonar.jdbc.url. Na przykład: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.
nazwa użytkownika usługi sonarQubeDBUsername - Db
Alias wejściowy: sqDbUsername.
string. Opcjonalny. Użyj polecenia , gdy sqDbDetailsRequired = true.
Tylko serwer SonarQube 5.1 i niższy. Wprowadza nazwę użytkownika bazy danych, czyli sonar.jdbc.username.
hasła użytkownika bazy danych sonarQubeDBPassword -
Alias wejściowy: sqDbPassword.
string. Opcjonalny. Użyj polecenia , gdy sqDbDetailsRequired = true.
Tylko serwer SonarQube 5.1 i niższy. Wprowadź hasło użytkownika bazy danych, czyli sonar.jdbc.password.
sonarQubeIncludeFullReport
-
Uwzględnij pełny raport analizy w podsumowaniu kompilacji (SQ 5.3+)
Alias wejściowy: sqAnalysisIncludeFullReport.
boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true. Wartość domyślna: true.
Opóźnia kompilację do momentu ukończenia analizy SonarQube.
sonarQubeFailWhenQualityGateFails
-
Niepowodzenie kompilacji na błędzie bramy jakości (SQ 5.3+)
Alias wejściowy: sqAnalysisBreakBuildIfQualityGateFailed.
boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true.
Tylko serwer SonarQube w wersji 5.3 lub nowszej. Wprowadza opóźnienia, ponieważ kompilacja musi czekać, aż sonarQube ukończy analizę. Dowiedz się więcej o używaniu narzędzia SonarQube na potrzeby kompilacji.
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.
Opcje sterowania zadaniami
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
Uwaga
W Gradle@3jest dostępna nowsza wersja tego zadania.
Konfiguracja analizy SonarQube została przeniesiona do SonarQube lub rozszerzenia sonarCloud w Prepare Analysis Configurationzadania .
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 wrapperPrzekaż 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.
Wymagania
| Wymaganie | Opis |
|---|---|
| Typy potoków | YAML, klasyczna kompilacja |
| Działa na | Agent, grupa wdrożeniowa |
| Wymagania | Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami do uruchamiania zadań korzystających z tego zadania: java |
| 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 |