개인 maven repository를 가지고 싶다

갑자기 뜬금없이 이런 생각이 들었으므로 알아봅시다.

근데 이걸 다시 시놀로지 도커에 올리기에는 시놀로지가 너무 열일을 하게 되므로 안그래도 거의 상시 켜져있는데 부담을 더주기는 좀 그래서 얼마전 알리 할인할때 샀던 미니PC를 이용했다.

사실 사놓고 뭔가를 올려놓기는 했는데 팀단위 프로젝트를 하는 것도 아니고 필요 없는거라 내리고 sonatype/nexus3를 올렸다. 기타 설정은 저 페이지에 아주 잘 나와있다. 저대로만 하면 잘 올라가고… https설정이나 그런건 시놀로지의 리버스프록시를 이용하면 쉽다.

대충 요래 생김.

관리자 화면 들가면 저렇게 레포지토리를 만들 수 있다. 그러면 배포는 어떻게 하지? gradle kotlin DSL기준으로 보면

publishing {
 publications {
  create<MavenPublication>("maven") {
   groupId = "group.id"
   artifactId = "artifactName"
   version = "version"

   from(components.getByName("java"))
  }
 }

 repositories {
  maven {
   name = "repositoryAlias"
   url = uri("https://repository.url")
   credentials(PasswordCredentials::class)
  }
 }
}

이러고 실제 pulish할때는 gradle wrapper 사용 시 아이디와 비밀번호를 환경변수로 넘겨주면 된다.

ORG_GRADLE_PROJECT_${repositoryAlias}Username=$USERNAME ORG_GRADLE_PROJECT_${repositoryAlias}Password=$PASSWORD ./gradlew -x:test publish

IntelliJ를 사용한다면 Gradle > Tasks > publishing > publish의 설정으로 들어가서 환경변수를 위와같이 세팅해주면 된다.

그리고 기본 설정? 으로는 업로드는 인증을 해야하나 쓰는건 그냥 되는 듯 하다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다