본문 바로가기

Web

[ spring ] 최초 폐쇄망(내부망) 순수 gradle 환경 세팅

반응형

 

폐쇄망(offline network) 환경에서 Gradle을 사용하는 경우, 외부 인터넷 연결 없이도 Gradle 빌드할 수 있도록 설정이 필요하다. Gradle은 기본적으로 필요한 의존성 라이브러리를 인터넷에서 다운로드한다. 그러나, 폐쇄망 환경에서는 외부 저장소에 접근할 수 없으므로 로컬 저장소를 사용하거나 의존성을 미리 다운로드하여 로컬 환경에 저장해야한다.

폐쇄망 Gradle 설정 방법은 다음과 같다.

 

| 의존성(jar) 다운로드

폐쇄망 환경에서는 mavenCentral()을 사용할 수 없다.
따라서 인터넷이 되는 환경에서 필요한 의존성들을 다운로드한 후, 이를 폐쇄망 환경에 복사해 사용할 수 있다.
의존성들은 maven url을 통해 다운받거나, 직접 다운로드 받으면 된다.

 

| 로컬 저장소 사용

의존성 파일들을 미리 다운로드하여 로컬 저장소에 배치한 후, build.gradle 파일에서 로컬 저장소를 참조하도록 설정한다.

1. m2

repositories {
    mavenLocal() /*.m2를 참조 */
}



2. 사용자 디렉토리

repositories {
    maven {
        url uri("C:/user/imcodding/local/repo/")
    }
}

 

 

반응형

 

| 특정 플러그인 사용

폐쇄망 환경에서 사용할 수 있는 플러그인들(예: Nexus, Artifactory 등)을 설정하여 내부 저장소에서 의존성을 다운로드할 수도 있다.

repositories {
    maven {
        url "http://your-nexus-repository/repository/maven-releases/" /* 공유 repository */
    }
}



| ~/.gradle/caches

gradle 캐시는 최초 빌드 시에 생기므로, 따로 가져와서 설정해줄 필요는 없다.

 

| ~/.gradle/caches 언제 사용?

  • 의존성 다운로드: Gradle은 프로젝트 빌드에서 필요한 외부 라이브러리를 처음 사용할 때, 이를 ~/.gradle/caches에 저장합니다. 이후에는 네트워크 요청을 하지 않고 로컬 캐시에서 의존성을 제공합니다.
  • 업데이트 확인: Gradle은 캐시된 의존성이 업데이트가 필요한지 체크합니다. 만약 새로운 버전이 필요하다면, 다시 저장소에서 해당 버전을 다운로드하여 캐시를 갱신합니다.
  • 빌드 아티팩트 저장: 빌드 결과물이 생성되면 Gradle은 이들을 캐시하여 이후 빌드에서 동일한 작업을 반복하지 않도록 합니다.
  • 리소스 및 플러그인 관리: 프로젝트에서 사용하는 플러그인이나 리소스 또한 캐시하여, 이후 빌드 시에 재사용할 수 있도록 합니다.

 

반응형