You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
Nexus 환경 빠른 시작 가이드
폐쇄망 환경에서 내부 Nexus를 사용하여 프로젝트를 빌드하는 빠른 가이드입니다.
1단계: Nexus 정보 확인
DevOps 팀 또는 Nexus 관리자에게 다음 정보를 받으세요:
Nexus URL: http://nexus.your-company.com:8081
Username: your-username
Password: your-password
2단계: gradle.properties 파일 생성
Windows
cd D:\workspace\springbatch-test
copy gradle.properties.example gradle.properties
notepad gradle.properties
Linux/Mac
cd /workspace/springbatch-test
cp gradle.properties.example gradle.properties
vi gradle.properties
설정 내용
nexusUrl=http://nexus.your-company.com:8081
nexusUsername=your-username
nexusPassword=your-password
3단계: build.gradle 수정
build.gradle 파일의 repositories 섹션 수정:
변경 전
repositories {
// 폐쇄망 환경에서는 아래 Nexus 설정을 사용하고 mavenCentral()은 주석 처리
// Use Nexus repository in closed network environment
// Uncomment below and comment out mavenCentral()
/*
maven {
url = "${nexusUrl}/repository/maven-public/"
credentials {
username = "${nexusUsername}"
password = "${nexusPassword}"
}
allowInsecureProtocol = false
}
*/
// 인터넷 접속 가능 환경
mavenCentral()
}
변경 후
repositories {
// 폐쇄망 환경에서는 아래 Nexus 설정을 사용하고 mavenCentral()은 주석 처리
maven {
url = "${nexusUrl}/repository/maven-public/"
credentials {
username = "${nexusUsername}"
password = "${nexusPassword}"
}
allowInsecureProtocol = true // HTTP 사용 시
}
// 인터넷 접속 가능 환경 - 주석 처리!
// mavenCentral()
}
4단계: settings.gradle 수정 (선택사항)
Plugin도 Nexus에서 다운로드하려면:
변경 전
/*
pluginManagement {
repositories {
maven {
url = "${nexusUrl}/repository/gradle-plugins/"
...
}
}
}
*/
변경 후
pluginManagement {
repositories {
maven {
url = "${nexusUrl}/repository/gradle-plugins/"
credentials {
username = "${nexusUsername}"
password = "${nexusPassword}"
}
allowInsecureProtocol = true // HTTP 사용 시
}
maven {
url = "${nexusUrl}/repository/maven-public/"
credentials {
username = "${nexusUsername}"
password = "${nexusPassword}"
}
allowInsecureProtocol = true
}
}
}
5단계: 빌드 테스트
# Windows
gradlew.bat clean build --refresh-dependencies
# Linux/Mac
./gradlew clean build --refresh-dependencies
6단계: 빌드 성공 확인
BUILD SUCCESSFUL in 15s
성공 메시지가 나오면 완료!
트러블슈팅
문제 1: 인증 실패 (401 Unauthorized)
증상:
> Could not resolve all dependencies
> HTTP 401 Unauthorized
해결:
- gradle.properties의 사용자명/비밀번호 확인
- Nexus 웹에서 로그인 테스트:
http://nexus.company.com:8081
문제 2: SSL 인증서 오류
증상:
> PKIX path building failed
해결:
- HTTPS 대신 HTTP 사용 시도
allowInsecureProtocol = true설정 확인
문제 3: 의존성을 찾을 수 없음
증상:
> Could not find org.springframework.boot:spring-boot-starter-batch:2.7.18
해결:
- Nexus 관리자에게 라이브러리 확인 요청
- Nexus 웹에서 검색: Browse → maven-public
- Proxy 설정 확인 요청
문제 4: HTTP 프로토콜 오류
증상:
> Using insecure protocols with repositories is not allowed
해결:
build.gradle에 allowInsecureProtocol = true 추가:
maven {
url = "http://..."
allowInsecureProtocol = true // 이 줄 추가!
}
체크리스트
- Nexus URL, Username, Password 확인
- gradle.properties 파일 생성 및 설정
- build.gradle에서 Nexus 주석 해제
- build.gradle에서 mavenCentral() 주석 처리
- allowInsecureProtocol 설정 (HTTP 사용 시)
- settings.gradle 수정 (plugin 사용 시)
- 빌드 테스트 성공
추가 도움말
상세한 설정은 NEXUS_SETUP.md 파일을 참고하세요.
# 전체 가이드
cat NEXUS_SETUP.md
# 또는 편집기로 열기
notepad NEXUS_SETUP.md
문의
문제 발생 시:
- NEXUS_SETUP.md의 트러블슈팅 섹션 확인
- DevOps 팀 또는 Nexus 관리자에게 문의
- 네트워크 팀에 방화벽 설정 확인