패키지 액세스를 일부 사용자들로 제한하거나, 폐색망 조직에 패키지 레지스트리 서버를 설정하려는 경우 자체 패키지 레지스트리 서버를 설정할 수 있습니다.
패키지 개발을 마친 후 다른 사용자들에게 공유하려는 경우 다음과 같은 여러 옵션을 이용할 수 있습니다.
Tarball | zip 또는 타르볼 파일을 다른 Unity 사용자에게 배포합니다. 이렇게 하면 사용자가 로컬 타르볼 파일에서 패키지를 직접 설치하거나, 본인 컴퓨터의 로컬 폴더에 zip 또는 타르볼 파일을 압축 해제한 후 해당 위치에서 설치할 수 있습니다. |
Git URL | 지원되는 프로토콜 중 하나를 사용하여 Git 저장소에 링크를 배포할 수 있습니다. 그러면 사용자들이 Git URL을 사용하여 패키지를 설치할 수 있습니다. 이때 Unity 패키지 관리자는 GitHub, GitLab 등과 같은 Git 저장소 호스팅 서비스를 사용하여 패키지를 페치할 수 있습니다. |
Scoped Registry | 패키지 레지스트리 서버가 패키지를 호스팅한 후 npm publish 커맨드를 사용하여 해당 레지스트리로 퍼블리시하도록 설정할 수 있습니다. 그러면 패키지의 소비자가 프로젝트에서 범위 지정 레지스트리를 설정하여 자체 패키지 레지스트리에서 커스텀 패키지를 페치할 수 있습니다. Unity 패키지 관리자는 “npm” 프로토콜을 기반으로 레지스트리를 지원합니다. 모든 기존 npm 레지스트리 서버를 사용할 수도 있지만, Verdaccio를 사용하면 신속한 설정이 가능하고 수행할 설정 작업도 많지 않습니다. 경고: 자체 패키지 레지스트리 서버를 설정할 경우 Unity의 범위 지정 레지스트리와 호환되는 기능만 사용해야 합니다. 예를 들어 Unity는 npm이 지원하는 @scope 표기법을 사용하는 네임스페이스를 지원하지 않습니다.대개의 경우 로컬 네트워크 내 익명 액세스만으로 보안 요구 사항을 충족할 수 있습니다. 하지만 범위 지정 레지스트리를 통해 패키지에 액세스하는 사용자를 보다 세부적으로 제어하기 위해 특정 사용자에 대해 npm 인증을 활성화할 수 있습니다. 그러면 패키지의 고객들이 범위 지정 레지스트리를 설정하여 npm 인증 토큰을 사용할 수 있습니다. |