사용자 도구

사이트 도구


nexus

문서의 이전 판입니다!


SonaType Nexus

설정시 주의점

  • gradle이나 maven이 Nexus에 요청을 보낼때 GET이 아닌 HEAD 요청을 보내 파일의 존재 여부를 체크하는 경우가 있는데, 이 때 Keep Alive가 켜져 있으면 HEAD 요청이 끊기지를 않아서 문제가 있는것 같아서 Ngnix의 keepalive를 1초 정도로 일단은 해소를 했다. 긴 KeepAlive가 실질적 문제 요소인지는 모르겠다.
  • Maven Central 리포지토리 설정에서 HTTP Request Settings 조절안하면 존재하지 않는 파일에 대한 요청을 무한히 기다리는 현상이 발견됨.
    • Request Timeout : 3 초로 조정.
    • Request Retry Attemps : 3 회로 조정.

Proxy 설정

  • Proxy 설정 후 Public Repository에 추가해줘야 public 주소 하나로 접근 가능하다.

jcenter.bintray.com 과 Github Raw Repository

  • Nexus 를 리포지토리로 사용할경우 Github 리포지토리를 Proxing 할 때 설정을 주의해야 한다.
  • Proxy로 설정한다.
  • Remote Repository Access > Download Remote Indexesfalse로 지정한다.
  • Remote Repository Access > Auto blocking activefalse로 지정하고 Refresh한다.
    • Repository StatusAttempting to Proxy and Remote Unavailable 로 변한다.

Snapshot buildNumber 안 맞는 문제

SNAPSHOT을 배포했는데, 아래처럼 buildNumber(아래에서는 2)와 실제 파일의 빌드넘버(아래에서는 1)로 안 맞는 경우가 발생했다.

<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
  <groupId>some.group.id</groupId>
  <artifactId>some-artifact</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20140208.121756</timestamp>
      <buildNumber>2</buildNumber> <!-- 이 부분. buildNumber = 2 -->
    </snapshot>
    <lastUpdated>20140208121803</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <classifier>javadoc</classifier>
        <extension>jar</extension>
        <value>0.0.1-20140208.121756-1</value> <!-- 실제로는 1 -->
        <updated>20140208121756</updated>
      </snapshotVersion>
    </snapshotVersions>
  </versioning>
</metadata>

아때 Nexus 리포지토리에서 해당 아티팩트를 선택하고 Rebuild Metadata를 했더니 정상으로 변경되었다.

nexus.1430382508.txt.gz · 마지막으로 수정됨: 2015/04/30 17:28 저자 kwon37xi