Gradle@1 — zadanie narzędzia Gradle w wersji 1
Skompiluj przy użyciu skryptu otoki narzędzia 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
- Otoka narzędzia Gradle
Alias wejściowy: wrapperScript
. string
. Wymagane. Wartość domyślna: gradlew
.
Określa lokalizację gradlew
otoki w repozytorium, która będzie używana na potrzeby kompilacji. Agenci w systemie Windows (w tym agenci hostowani przez firmę Microsoft) muszą używać gradlew.bat
otoki. Agenci w systemie Linux lub macOS mogą używać skryptu powłoki gradlew
. Dowiedz się więcej o otoce narzędzia Gradle.
options
- Opcje
string
.
Określa opcje wiersza polecenia, które zostaną przekazane do otoki Gradle. Aby uzyskać więcej informacji , zobacz Wiersz polecenia narzędzia Gradle .
tasks
- Zadania
string
. 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
wiersza polecenia.
Aby uzyskać więcej informacji, zobacz Podstawy skryptu kompilacji narzędzia Gradle .
workingDirectory
- Katalog roboczy
Alias wejściowy: cwd
. string
.
Określa katalog roboczy do uruchomienia kompilacji narzędzia Gradle. Zadanie używa katalogu głównego repozytorium, jeśli nie określono katalogu roboczego.
publishJUnitResults
- Publikowanie w usługach TFS/Team Services
boolean
. Wartość domyślna: true
.
Publikuje wyniki testu 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: **/build/test-results/TEST-*.xml
.
Ścieżka pliku dla wyników testu. Można używać symboli wieloznacznych. Na przykład dla wszystkich plików XML, **/TEST-*.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.
codeCoverageToolOption
- Narzędzie pokrycia kodu
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.
codeCoverageClassFilesDirectories
- Katalogi plików klas
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 obszarze build/classes/java/main
(dla narzędzia Gradle 4 lub nowszego), który 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.
javaHomeOption
- Ustaw JAVA_HOME przez
Alias wejściowy: javaHomeSelection
. string
. Wymagane. Dozwolone wartości: JDKVersion
(wersja zestawu JDK), Path
. Wartość domyślna: JDKVersion
.
Ustawia JAVA_HOME, wybierając wersję zestawu JDK, którą zadanie odnajduje podczas kompilacji lub ręcznie wprowadzając ścieżkę zestawu JDK.
jdkVersionOption
- Wersja 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.
jdkDirectory
- Ścieżka zestawu JDK
Alias wejściowy: jdkUserInputPath
. string
. Wymagane, gdy javaHomeSelection = Path
.
Ustawia JAVA_HOME na daną ścieżkę.
jdkArchitectureOption
- Architektura zestawu 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
- Ustawianie 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
- Uruchamianie analizy SonarQube
Alias wejściowy: sqAnalysisEnabled
. boolean
. Wartość domyślna: false
.
Uruchamia analizę SonarQube po wykonaniu bieżących celów. install
lub package
cele powinny być wykonywane w pierwszej kolejności.
sonarQubeServiceEndpoint
- Punkt końcowy 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, sonar.projectName
czyli .
sonarQubeProjectKey
- Klucz projektu SonarQube
Alias wejściowy: sqProjectKey
. string
. Wymagane, gdy sqAnalysisEnabled = true
.
Unikatowy klucz projektu SonarQube, czyli sonar.projectKey
.
sonarQubeProjectVersion
- Wersja projektu SonarQube
Alias wejściowy: sqProjectVersion
. string
. Wymagane, gdy sqAnalysisEnabled = true
.
Wersja projektu SonarQube, czyli sonar.projectVersion
.
sonarQubeGradlePluginVersion
- Wersja 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
- Parametry połączenia bazy danych
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
.
sonarQubeDBUsername
- Nazwa użytkownika bazy danych
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
.
sonarQubeDBPassword
- Hasło użytkownika bazy danych
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 przy awarii bramy jakości (SQ 5.3+)
Alias wejściowy: sqAnalysisBreakBuildIfQualityGateFailed
. boolean
. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true
.
Serwer SonarQube w wersji 5.3 lub nowszej. Wprowadza opóźnienia, ponieważ kompilacja musi czekać na ukończenie analizy przez sonarQube. Dowiedz się więcej o używaniu narzędzia SonarQube do kompilacji.
checkStyleRunAnalysis
- Uruchamianie stylu kontrolnego
Alias wejściowy: checkstyleAnalysisEnabled
. boolean
. Wartość domyślna: false
.
Uruchamia narzędzie Checkstyle z domyślnym sprawdzaniem wartości Sun. Wyniki są przekazywane jako artefakty kompilacji.
findBugsRunAnalysis
- Uruchamianie funkcji 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
- Uruchamianie narzędzia PMD
Alias wejściowy: pmdAnalysisEnabled
. boolean
. Wartość domyślna: false
.
Używa narzędzia do analizy statycznej PMD w języku Java, aby wyszukać usterki w kodzie. Wyniki są przekazywane jako artefakty kompilacji.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
Uwaga
W Gradle@3 jest dostępna nowsza wersja tego zadania.
Uwaga
W Gradle@2 jest dostępna nowsza wersja tego zadania.
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 Gradle.
Jak mogę wygenerować otokę z mojego projektu narzędzia Gradle?
Otoka narzędzia Gradle umożliwia agentowi kompilacji pobranie i skonfigurowanie dokładnego środowiska Gradle zaewidencjonowane w repozytorium bez konieczności konfigurowania 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 lokalizacji
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, zaktualizuj elementgradle-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ą zmienić limit czasu, dodając -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
element do Options
elementu . Zwiększa to limit czasu z 10 sekund do 1 minuty.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja |
Działa w | Agent, DeploymentGroup |
Wymagania | Agenci samodzielnie hostowani muszą mieć możliwości zgodne z następującymi wymaganiami dotyczącymi 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ń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 1.91.0 lub nowszy |
Kategoria zadania | Kompilacja |