105 lines
2.6 KiB
Markdown
105 lines
2.6 KiB
Markdown
# 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` 블록 수정 필요
|