config: local reposilite 환경으로 변경
This commit is contained in:
+104
@@ -0,0 +1,104 @@
|
||||
# Reposilite 3 연동 가이드
|
||||
|
||||
## 구성 개요
|
||||
|
||||
기존 Nexus(`https://nexus.eactive.synology.me:8090`) 대신 로컬 Reposilite 3(`http://localhost:8080`)를 통해 의존성을 다운로드한다.
|
||||
Reposilite의 `private` 레포지토리에 Nexus `maven-public`을 Mirror로 등록하여 캐싱한다.
|
||||
|
||||
---
|
||||
|
||||
## 1. Reposilite 3 설정
|
||||
|
||||
관리자 패널 → **Repositories** → `private` 저장소 → **Edit**
|
||||
|
||||
**Mirrored repositories** 항목에 추가:
|
||||
```
|
||||
https://nexus.eactive.synology.me:8090/repository/maven-public/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 변경된 파일
|
||||
|
||||
### `build.gradle` (루트)
|
||||
|
||||
- `nexusUrl` → `reposiliteUrl` 변수명 변경
|
||||
- `allprojects.repositories` URL을 Reposilite로 변경
|
||||
- credentials를 `gradle.properties` 변수로 참조
|
||||
|
||||
```groovy
|
||||
def reposiliteUrl = "http://localhost:8080"
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
maven {
|
||||
url "${reposiliteUrl}/private"
|
||||
allowInsecureProtocol = true
|
||||
credentials {
|
||||
username = reposiliteUser
|
||||
password = reposilitePassword
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `elink-online-core/build.gradle`
|
||||
|
||||
- 단독 빌드용 `repositories` 블록의 URL 및 credentials 동일하게 변경
|
||||
|
||||
```groovy
|
||||
// FOR LOCAL
|
||||
repositories {
|
||||
maven {
|
||||
url "${nexusUrl}/private"
|
||||
allowInsecureProtocol = true
|
||||
credentials {
|
||||
username = reposiliteUser
|
||||
password = reposilitePassword
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `gradle.properties` (신규 생성)
|
||||
|
||||
인증 정보를 별도 파일로 분리. `.gitignore`에 이미 등록되어 있어 git에 올라가지 않는다.
|
||||
|
||||
```properties
|
||||
reposiliteUser=admin
|
||||
reposilitePassword=<reposilite-token>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 서브모듈별 repositories 현황
|
||||
|
||||
| 모듈 | repositories 블록 | 비고 |
|
||||
|------|------------------|------|
|
||||
| `build.gradle` (root) | `allprojects { ... }` | 모든 서브모듈에 상속 |
|
||||
| `elink-online-core` | 별도 정의 | 단독 빌드 대응용 (`// FOR LOCAL`) |
|
||||
| `elink-online-core-jpa` | 없음 | root 상속 |
|
||||
| `elink-online-emsclient` | 없음 | root 상속 |
|
||||
| `elink-online-transformer` | 없음 | root 상속 |
|
||||
| `elink-online-common` | 없음 | root 상속 |
|
||||
| `kjb-errors` | 없음 | root 상속 (기존 `mavenCentral()` 제거) |
|
||||
|
||||
---
|
||||
|
||||
## 4. 빌드 방법
|
||||
|
||||
```bash
|
||||
# 캐시 삭제 후 Reposilite에서 새로 받기
|
||||
./gradlew build --refresh-dependencies
|
||||
|
||||
# 테스트 스킵
|
||||
./gradlew build -x test --refresh-dependencies
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 참고
|
||||
|
||||
- `publishing` 블록(아티팩트 배포)은 각 서브모듈에서 여전히 Nexus URL을 사용 중
|
||||
- Reposilite로 배포까지 전환하려면 각 서브모듈의 `nexusUrl` 및 `publishing` 블록 수정 필요
|
||||
Reference in New Issue
Block a user