8.0 KiB
title, source_type, url, archive_url, related_branches, related_projects, tags, created
| title | source_type | url | archive_url | related_branches | related_projects | tags | created | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Renovate Gradle Manager — Official Documentation | official-doc | https://docs.renovatebot.com/modules/manager/gradle/ |
|
|
2026-06-15 |
Renovate Gradle Manager — Official Documentation
Layer:
raw/official-docs/— 외부 공식 문서의 원문 발췌·출처 기록. 검증된 요약은/ingest후wiki/concepts/에 별도 작성. 원본은 raw에 영구 보관.
Parent / 활용 branch (필수, 최소 1개+)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-build-release-supply-chain-contract | Decision D3 — "dependency upgrade bot = Renovate 기본"의 근거: Renovate의 Gradle 지원 범위(파일 목록, lockfile 갱신 via --write-locks, Version Catalog 지원), 및 allowedUnsafeExecutions: ["gradleWrapper"] supply-chain 보안 제약 |
출처 / Source
- 원본 URL: https://docs.renovatebot.com/modules/manager/gradle/
- 아카이브 URL:
- 저자 / 조직: Renovate (Mend)
- 발행일: (연속 갱신 문서 — 발행일 단일 표기 없음)
- 마지막 확인일: 2026-06-15
왜 저장했는지 / Why archived
feature-build-release-supply-chain-contract branch 의 D3 결정("dependency upgrade bot = Renovate 기본")이 UNSUPPORTED_DECISION 으로 분류되어 있었기 때문이다. Renovate 공식 문서에서 Gradle 파일 패턴 매칭 범위, lockfile 갱신 방식(--write-locks), Version Catalog(.versions.toml) 지원, 그리고 self-hosted 환경에서 gradleWrapper 실행의 supply-chain 보안 제약을 직접 확인하여 D3 결정을 근거 있는 선택으로 전환한다.
핵심 인용 / Key quotes (verbatim, 3~5문장)
[§File Patterns Matched] "The Gradle manager detects dependencies in files matching these patterns:"
/\.gradle(\.kts)?$//(^|/)gradle\.properties$//(^|/)gradle/.+\.toml$//(^|/)buildSrc/.+\.kt$//\.versions\.toml$//(^|/)versions.props$//(^|/)versions.lock$/
[§Lockfile Support] "The manager maintains
gradle.lockfileartifacts. During maintenance operations, it "calls./gradlew :dependencies --write-lockson the root project and subprojects." For standard updates, the tool "automatically updates lock state entries via the--update-lockscommand line flag.""
[§Gradle Wrapper Execution] "Renovate will only execute the Gradle Wrapper (via
./gradleworgradlew.bat) if the self-hosted administrator configuresallowedUnsafeExecutionsto include thegradleWrapperoption." This requirement exists due to "possible supply chain security attack vectors that can occur with the Gradle Wrapper being executed."
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| RENOV-GRAD-C1 | Renovate Gradle manager 는 .gradle, .gradle.kts, gradle.properties, *.toml(gradle/ 디렉터리), .versions.toml, versions.props, versions.lock 파일 패턴을 대상으로 의존성을 탐지한다 |
[§File Patterns Matched] "The Gradle manager detects dependencies in files matching these patterns: /\.gradle(\.kts)?$/, `/(^ |
/)gradle.properties$/, /(^ |
/)gradle/.+.toml$/, /.versions.toml$/, /(^ |
/)versions.props$/, /(^ |
| RENOV-GRAD-C2 | Renovate 는 gradle.lockfile 유지 시 루트 프로젝트 및 서브프로젝트에 ./gradlew :dependencies --write-locks 를 실행한다 |
[§Lockfile Support] "calls ./gradlew :dependencies --write-locks on the root project and subprojects" |
official-vendor-doc |
Renovate 로 lockfile maintenance 를 활성화한 Gradle 프로젝트 | gradleWrapper 실행 허가(allowedUnsafeExecutions) 없이 이 동작이 가능하다는 의미가 아님(C3 참조) |
| RENOV-GRAD-C3 | self-hosted 환경에서 Renovate 가 Gradle Wrapper(./gradlew)를 실행하려면 관리자가 allowedUnsafeExecutions 에 gradleWrapper 옵션을 포함시켜야 한다 |
[§Gradle Wrapper Execution] "Renovate will only execute the Gradle Wrapper (via ./gradlew or gradlew.bat) if the self-hosted administrator configures allowedUnsafeExecutions to include the gradleWrapper option." |
official-vendor-doc |
self-hosted Renovate 인스턴스 운영자 | Renovate Cloud(app.renovatebot.com) 환경 — 관리 방식이 다를 수 있음 |
| RENOV-GRAD-C4 | gradleWrapper 실행 허가가 supply-chain 공격 벡터(supply chain security attack vectors)와 관련된 보안 제약이다 |
[§Gradle Wrapper Execution] "possible supply chain security attack vectors that can occur with the Gradle Wrapper being executed." | official-vendor-doc |
self-hosted 환경에서 Renovate PR 자동 머지 + lockfile 재생성을 구성할 때 | Gradle Wrapper 자체의 CVE; Renovate 외 다른 도구의 gradlew 실행 위험 |
| RENOV-GRAD-C5 | Renovate 는 일반 업데이트 시 --update-locks CLI 플래그를 통해 lock state 항목을 자동으로 갱신한다 |
[§Lockfile Support] "automatically updates lock state entries via the --update-locks command line flag" |
official-vendor-doc |
Renovate 로 개별 의존성 버전 업데이트 PR 생성 시 | 전체 lockfile 재생성(--write-locks) 과 동일하지 않음 — 개별 항목 업데이트 전용 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
RENOV-GRAD-C1: Renovate 가 Gradle Version Catalog(.versions.toml)를 포함한 Gradle 관련 파일 패턴을 공식 지원한다.RENOV-GRAD-C2: lockfile 유지 모드에서--write-locks를 실행한다.RENOV-GRAD-C3: self-hosted 환경에서allowedUnsafeExecutions: [gradleWrapper]설정이 필수 전제조건이다.RENOV-GRAD-C4: 이 전제조건이 존재하는 이유가 supply-chain 보안 위협이라는 것을 Renovate 공식 문서가 명시적으로 인정한다.RENOV-GRAD-C5: 개별 의존성 업데이트 PR 생성 시--update-locks를 사용한다.
- 이 자료가 증명하지 않는 것:
- Renovate 가 Gradle 외 빌드 시스템(Maven, Bazel)에서 동일하게 동작한다는 것.
- Renovate Cloud(호스팅 서비스) 환경에서
allowedUnsafeExecutions가 동일하게 적용된다는 것. - Dependabot 대비 Renovate 의 기능 우위 — 이 문서는 Renovate 자체의 기능만 설명하며 비교 없음.
gradleWrapper실행이 안전하다는 주장 — 오히려 반대.
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- ca-skeleton self-hosted Renovate 인스턴스 구성 시
allowedUnsafeExecutions: ["gradleWrapper"]실제 설정 위치(Renovate config 파일 또는 환경 변수) 확인 필요. gradle/locks/*.lockfile패턴(ca-skeleton D8) 과 Renovate 가 기대하는gradle.lockfile패턴 간 경로 충돌 여부 확인 필요.
- ca-skeleton self-hosted Renovate 인스턴스 구성 시
메모 / Notes
- D3 업그레이드:
RENOV-GRAD-C1~C3로 D3 는UNSUPPORTED_DECISION에서official-vendor-doc뒷받침 결정으로 전환 가능. - D3 의 "Dependabot 은 조직 표준일 때 허용" 부분은 여전히 외부 raw source 미확보 — Dependabot 공식 docs 추가 보강 권고.
- lockfile 경로 불일치 주의: D8 의
gradle/locks/*.lockfilevs Renovate 문서의gradle.lockfile— 경로가 다를 경우 Renovate 가 lockfile 을 탐지하지 못할 수 있음./(^|/)versions.lock$/패턴과의 관계 확인 필요. - 추가로 봐야 할 동일 출처 페이지:
https://docs.renovatebot.com/self-hosted-configuration/#allowedunsafeexecutions(self-hosted config 레퍼런스)
Related / 관련
- 같은 주제 다른 official-doc: raw/official-docs/supply-chain-gradle-vs-maven-dependency-locking (D8 근거 — Gradle dependency-locking)
- 이 자료를 인용한 wiki 요약: (생성 시 추가)