Udostępnij za pośrednictwem


Gradle@1 — zadanie Gradle w wersji 1

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.

  1. 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

  2. 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, zaktualizuj gradle-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