Gradle@1 - Gradle v1 작업
Gradle 래퍼 스크립트를 사용하여 빌드합니다.
Syntax
# 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.
입력
gradleWrapperFile
-
Gradle 래퍼
입력 별칭: wrapperScript
.
string
. 필수 요소. 기본값은 gradlew
입니다.
빌드에 gradlew
사용할 리포지토리 내에서 래퍼의 위치를 지정합니다. Windows의 에이전트(Microsoft 호스팅 에이전트 포함)는 래퍼를 gradlew.bat
사용해야 합니다. Linux 또는 macOS의 에이전트는 셸 스크립트를 gradlew
사용할 수 있습니다.
Gradle 래퍼에 대해 자세히 알아보세요.
tasks
-
작업
string
. 필수 요소. 기본값은 build
입니다.
Gradle이 실행할 작업입니다. 작업 이름 목록은 공백으로 구분해야 하며 명령 프롬프트에서 발급된 목록에서 gradlew tasks
제거할 수 있습니다.
자세한 내용은 Gradle 빌드 스크립트 기본 사항을 참조하세요.
workingDirectory
-
작업 디렉터리
입력 별칭: cwd
.
string
.
Gradle 빌드를 실행할 작업 디렉터리를 지정합니다. 작업 디렉터리가 지정되지 않은 경우 작업은 리포지토리 루트 디렉터리를 사용합니다.
publishJUnitResults
-
TFS/Team Services에 게시
boolean
. 기본값은 true
입니다.
Gradle 빌드에서 생성된 JUnit 테스트 결과를 Azure Pipelines에 게시합니다. 작업은 Azure Pipelines에서 테스트 실행으로 일치하는 Test Results Files
각 테스트 결과 파일을 게시합니다.
testResultsFiles
-
테스트 결과 파일
string
. 필요한 경우 publishJUnitResults = true
입니다. 기본값은 **/build/test-results/TEST-*.xml
입니다.
테스트 결과의 파일 경로입니다.
와일드카드를 사용할 수 있습니다. 예를 들어 **/TEST-*.xml
이름이 로 시작하는 모든 XML 파일의 경우입니다 TEST-
.
testRunTitle
-
테스트 실행 제목
string
. 선택 사항입니다. 을 사용할 때 publishJUnitResults = true
사용합니다.
이 빌드에 대한 JUnit 테스트 사례 결과의 이름을 제공합니다.
codeCoverageToolOption
-
코드 검사 도구
입력 별칭: codeCoverageTool
.
string
. 허용되는 값: None
, Cobertura
, JaCoCo
. 기본값은 None
입니다.
빌드에 대한 테스트 사례에서 다루는 코드를 결정하는 코드 검사 도구를 지정합니다.
codeCoverageClassFilesDirectories
-
클래스 파일 디렉터리
입력 별칭: classFilesDirectories
.
string
. 필요한 경우 codeCoverageTool = false
입니다. 기본값은 build/classes/main/
입니다.
클래스 파일 및 보관 파일(.jar, .war 등)을 포함하는 쉼표로 구분된 디렉터리 목록입니다. 코드 검사는 이러한 디렉터리에 있는 클래스 파일에 대해 보고됩니다. 일반적으로 태스크는 Gradle 빌드의 기본 클래스 디렉터리인 (Gradle 4 이상)에서 build/classes/java/main
클래스를 검색합니다.
codeCoverageClassFilter
-
클래스 포함/제외 필터
입력 별칭: classFilter
.
string
. 선택 사항입니다. 을 사용할 때 codeCoverageTool != None
사용합니다.
코드 검사 수집에서 클래스를 포함하거나 제외할 쉼표로 구분된 필터 목록입니다. 예: +:com.*
,+:org.*
,-:my.app*.*
.
codeCoverageFailIfEmpty
-
코드 검사 결과가 누락된 경우 실패
입력 별칭: failIfCoverageEmpty
.
boolean
. 선택 사항입니다. 을 사용할 때 codeCoverageTool != None
사용합니다. 기본값은 false
입니다.
코드 검사에서 게시할 결과를 생성하지 못한 경우 빌드에 실패합니다.
javaHomeOption
-
JAVA_HOME 설정 기준
입력 별칭: javaHomeSelection
.
string
. 필수 요소. 허용되는 값: JDKVersion
(JDK 버전), Path
. 기본값은 JDKVersion
입니다.
빌드 중에 태스크가 검색하는 JDK 버전을 선택하거나 JDK 경로를 수동으로 입력하여 JAVA_HOME 설정합니다.
jdkVersionOption
-
JDK 버전
입력 별칭: jdkVersion
.
string
. 선택 사항입니다. 을 사용할 때 javaHomeSelection = JDKVersion
사용합니다. 허용되는 값: default
, 1.9
(JDK 9), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6). 기본값은 default
입니다.
선택한 JDK 버전의 경로를 검색하고 그에 따라 JAVA_HOME 설정하려고 시도합니다.
jdkDirectory
-
JDK 경로
입력 별칭: jdkUserInputPath
.
string
. 필요한 경우 javaHomeSelection = Path
입니다.
지정된 경로에 JAVA_HOME 설정합니다.
jdkArchitectureOption
-
JDK 아키텍처
입력 별칭: jdkArchitecture
.
string
. 선택 사항입니다. 을 사용할 때 jdkVersion != default
사용합니다. 허용되는 값: x86
, x64
. 기본값은 x64
입니다.
JDK 아키텍처(x86 또는 x64)를 제공합니다.
gradleOptions
-
GRADLE_OPTS 설정
입력 별칭: gradleOpts
.
string
. 기본값은 -Xmx1024m
입니다.
JVM을 시작하기 위해 명령줄 인수를 보내는 데 사용되는 GRADLE_OPTS 환경 변수를 설정합니다. 플래그는 xmx
JVM에 사용할 수 있는 최대 메모리를 지정합니다.
sonarQubeRunAnalysis
-
SonarQube 분석 실행
입력 별칭: sqAnalysisEnabled
.
boolean
. 기본값은 false
입니다.
현재 목표를 실행한 후 SonarQube 분석을 실행합니다.
install
또는 package
목표를 먼저 실행해야 합니다.
sonarQubeServiceEndpoint
-
SonarQube 엔드포인트
입력 별칭: sqConnectedServiceName
.
string
. 필요한 경우 sqAnalysisEnabled = true
입니다.
사용할 SonarQube 서버를 지정하는 엔드포인트입니다.
sonarQubeProjectName
-
SonarQube 프로젝트 이름
입력 별칭: sqProjectName
.
string
. 필요한 경우 sqAnalysisEnabled = true
입니다.
SonarQube 프로젝트 이름, 즉 입니다 sonar.projectName
.
sonarQubeProjectKey
-
SonarQube 프로젝트 키
입력 별칭: sqProjectKey
.
string
. 필요한 경우 sqAnalysisEnabled = true
입니다.
SonarQube 프로젝트 고유 키, 즉 입니다 sonar.projectKey
.
sonarQubeProjectVersion
-
SonarQube 프로젝트 버전
입력 별칭: sqProjectVersion
.
string
. 필요한 경우 sqAnalysisEnabled = true
입니다.
SonarQube 프로젝트 버전, 즉 입니다 sonar.projectVersion
.
sonarQubeGradlePluginVersion
-
SonarQube Gradle 플러그 인 버전
입력 별칭: sqGradlePluginVersion
.
string
. 필요한 경우 sqAnalysisEnabled = true
입니다. 기본값은 2.0.1
입니다.
SpotBugs Gradle 플러그 인의 버전 번호를 포함합니다.
sonarQubeSpecifyDB
-
SonarQube 서버 버전이 5.2보다 낮음
입력 별칭: sqDbDetailsRequired
.
boolean
. 선택 사항입니다. 을 사용할 때 sqAnalysisEnabled = true
사용합니다. 기본값은 false
입니다.
SonarQube 서버 5.1 이하만. 데이터베이스 연결 세부 정보를 지정합니다.
sonarQubeDBUrl
-
Db 연결 문자열
입력 별칭: sqDbUrl
.
string
. 선택 사항입니다. 을 사용할 때 sqDbDetailsRequired = true
사용합니다.
SonarQube 서버 버전 5.1 이하만. 데이터베이스 연결 설정( )을 입력합니다 sonar.jdbc.url
. 예: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
sonarQubeDBUsername
-
Db 사용자 이름
입력 별칭: sqDbUsername
.
string
. 선택 사항입니다. 을 사용할 때 sqDbDetailsRequired = true
사용합니다.
SonarQube 서버 5.1 이하만. 데이터베이스 사용자의 사용자 이름()을 입력합니다 sonar.jdbc.username
.
sonarQubeDBPassword
-
Db 사용자 암호
입력 별칭: sqDbPassword
.
string
. 선택 사항입니다. 을 사용할 때 sqDbDetailsRequired = true
사용합니다.
SonarQube 서버 5.1 이하만. 데이터베이스 사용자에 대한 암호(예: )를 입력합니다 sonar.jdbc.password
.
sonarQubeIncludeFullReport
-
빌드 요약에 전체 분석 보고서 포함(SQ 5.3 이상)
입력 별칭: sqAnalysisIncludeFullReport
.
boolean
. 선택 사항입니다. 을 사용할 때 sqAnalysisEnabled = true
사용합니다. 기본값은 true
입니다.
SonarQube 분석이 완료될 때까지 빌드를 지연합니다.
sonarQubeFailWhenQualityGateFails
-
품질 게이트 오류로 빌드 실패(SQ 5.3 이상)
입력 별칭: sqAnalysisBreakBuildIfQualityGateFailed
.
boolean
. 선택 사항입니다. 을 사용할 때 sqAnalysisEnabled = true
사용합니다.
SonarQube 서버 버전 5.3 이상만. 빌드에서 SonarQube가 분석을 완료할 때까지 기다려야 함에 따라 지연이 발생합니다. 빌드에 SonarQube를 사용하는 방법에 대해 자세히 알아봅니다.
checkStyleRunAnalysis
-
체크스타일 실행
입력 별칭: checkstyleAnalysisEnabled
.
boolean
. 기본값은 false
입니다.
기본 Sun 검사를 사용하여 Checkstyle 도구를 실행합니다. 결과는 빌드 아티팩트로 업로드됩니다.
findBugsRunAnalysis
-
FindBugs 실행
입력 별칭: findbugsAnalysisEnabled
.
boolean
. 기본값은 false
입니다.
FindBugs 정적 분석 도구를 사용하여 코드에서 버그를 찾습니다. 결과는 빌드 아티팩트로 업로드됩니다. Gradle 6.0에서는 이 플러그 인이 제거되었습니다. 대신 SpotBugs 플러그 인을 사용합니다.
pmdRunAnalysis
-
PMD 실행
입력 별칭: pmdAnalysisEnabled
.
boolean
. 기본값은 false
입니다.
PMD Java 정적 분석 도구를 사용하여 코드에서 버그를 찾습니다. 결과는 빌드 아티팩트로 업로드됩니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
참고
이 작업의 최신 버전은 Gradle@3 사용할 수 있습니다.
참고
이 작업의 최신 버전은 Gradle@2 사용할 수 있습니다.
SonarQube 분석의 구성이 작업의 Prepare Analysis Configuration
SonarQube 또는 SonarCloud 확장으로 이동되었습니다.
이 작업을 사용하여 Gradle 래퍼 스크립트를 사용하여 빌드합니다.
내 Gradle 프로젝트에서 래퍼를 생성할 어떻게 할까요? 있나요?
Gradle 래퍼를 사용하면 빌드 에이전트가 JVM 이외의 빌드 에이전트 자체에 대한 소프트웨어 구성 없이 리포지토리에 체크 인된 정확한 Gradle 환경을 다운로드하고 구성할 수 있습니다.
build.gradle이 있는 루트 프로젝트 디렉터리에서 다음 명령을 실행하여 Gradle 래퍼를 만듭니다.
jamal@fabrikam> gradle wrapper
원격 리포지토리 Gradle 래퍼를 업로드합니다.
gradle 래퍼(에 있음)에
gradle/wrapper/gradle-wrapper.jar
의해 생성되는 이진 아티팩트가 있습니다. 이 이진 파일은 작으며 업데이트할 필요가 없습니다. 빌드 에이전트에서 실행되는 Gradle 구성을 변경해야 하는 경우 를 업데이트합니다gradle-wrapper.properties
.리포지토리는 다음과 같이 표시됩니다.
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
종속성을 다운로드할 때 시간 제한을 수정할 어떻게 할까요? 있나요?
종속성을 다운로드할 때와 같은 Read timed out
오류를 해결하기 위해 Gradle 4.3 이상 사용자는 에 를 추가하여 -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
Options
시간 제한을 변경할 수 있습니다. 이렇게 하면 시간 제한이 10초에서 1분으로 증가합니다.