패키지 컨셉 - 아마존 CodeCatalyst

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

패키지 컨셉

다음은 패키지를 관리, 게시 또는 사용할 때 알아야 할 몇 가지 개념과 용어입니다 CodeCatalyst.

패키지

패키지는 소프트웨어를 설치하고 종속성을 해결하는 데 필요한 소프트웨어와 메타데이터를 모두 포함하는 번들입니다. CodeCatalyst npm 패키지 형식을 지원합니다.

패키지는 다음과 같이 구성됩니다.

  • 이름 (예: 인기 있는 npm 패키지의 이름) webpack

  • 선택적 네임스페이스 (예: in) @types @types/node

  • 버전 세트 (예:,1.0.0,1.0.1) 1.0.2

  • 패키지 수준 메타데이터 (예: npm dist 태그)

패키지 네임스페이스

일부 패키지 형식은 패키지를 논리적 그룹으로 구성하고 이름 충돌을 방지하기 위해 계층적 패키지 이름을 지원합니다. 이름이 같은 패키지를 다른 네임스페이스에 저장할 수 있습니다. 예를 들어 npm은 범위를 지원하며 npm 패키지는 범위와 @types/node 이름을 가집니다. @types node @types 범위에는 다른 패키지 이름이 많습니다. 에서 CodeCatalyst 범위 (“유형”) 는 패키지 네임스페이스라고 하고 이름 (“노드”) 은 패키지 이름이라고 합니다. Maven 패키지의 경우 패키지 네임스페이스는 Maven groupID에 해당합니다. org.apache.logging.log4j:log4j Maven 패키지에는 org.apache.logging.log4j groupID(패키지 네임스페이스)와 log4j artifactID(패키지 이름)가 있습니다. Python과 같은 일부 패키지 형식은 npm scope 또는 Maven GroupId와 유사한 개념을 가진 계층 이름을 지원하지 않습니다. 패키지 이름을 그룹화할 방법이 없으면 이름 충돌을 피하기가 더 어려울 수 있습니다.

패키지 버전

패키지 버전은 패키지의 특정 버전(예: @types/node@12.6.9)을 식별합니다. 버전 번호 형식과 의미 체계는 패키지 형식에 따라 다릅니다. 예를 들어, npm 패키지 버전은 의미 체계 버전 관리 사양을 준수해야 합니다. 에서 CodeCatalyst 패키지 버전은 버전 식별자, package-version-level 메타데이터 및 자산 세트로 구성됩니다.

자산

자산은 npm 파일, Maven POM 또는 JAR 파일과 같은 패키지 버전과 연결된 개별 .tgz 파일에 저장되어 있는 개별 파일입니다. CodeCatalyst

패키지 리포지토리

CodeCatalyst 패키지 리포지토리는 패키지 세트를 포함하며, 패키지 버전에는 패키지 버전이 포함되며, 각 패키지는 자산 세트에 매핑됩니다. 패키지 리포지토리는 다중 언어를 사용하므로 단일 리포지토리에 지원되는 모든 유형의 패키지가 포함될 수 있습니다. 각 패키지 저장소는 (,), the, Maven CLI (dotnet)nuget, Python NuGet CLIs (및) 과 같은 도구를 사용하여 패키지를 가져오고 게시하기 위한 엔드포인트를 제공합니다. npm CLI mvn CLIs pip twine 각 스페이스에서 만들 수 있는 패키지 리포지토리 수를 CodeCatalyst 포함하여 패키지 할당량에 대한 자세한 내용은 을 참조하십시오. 패키지 할당량

업스트림으로 설정하여 패키지 저장소를 다른 패키지에 연결할 수 있습니다. 저장소가 업스트림으로 설정되면 업스트림의 모든 패키지는 물론 체인의 추가 업스트림 저장소도 사용할 수 있습니다. 자세한 내용은 업스트림 리포지토리 단원을 참조하십시오.

게이트웨이 리포지토리는 공식 외부 패키지 기관으로부터 패키지를 가져와 저장하는 특별한 유형의 패키지 리포지토리입니다. 자세한 내용은 게이트웨이 리포지토리 단원을 참조하십시오.

업스트림 리포지토리

를 CodeCatalyst 사용하여 두 패키지 리포지토리 간에 업스트림 관계를 생성할 수 있습니다. 패키지 리포지토리는 다른 패키지 리포지토리의 업스트림입니다. 패키지 리포지토리에 포함된 패키지 버전을 다운스트림 리포지토리의 패키지 리포지토리 엔드포인트에서 액세스할 수 있는 경우 패키지 리포지토리는 다른 패키지 리포지토리의 업스트림입니다. 업스트림 관계를 사용하면 클라이언트의 관점에서 두 패키지 리포지토리의 콘텐츠가 효과적으로 병합됩니다.

예를 들어 패키지 관리자가 리포지토리에 없는 패키지 버전을 요청하면 구성된 업스트림 리포지토리에서 패키지 버전을 검색합니다. CodeCatalyst 업스트림 리포지토리는 구성된 순서대로 검색되며, 패키지를 찾으면 검색이 중지됩니다. CodeCatalyst

게이트웨이 리포지토리

게이트웨이 리포지토리는 지원되는 외부의 공식 패키지 기관에 연결되는 특별한 유형의 패키지 리포지토리입니다. 게이트웨이 리포지토리를 업스트림 리포지토리로 추가하면 해당 공식 패키지 기관의 패키지를 사용할 수 있습니다. 다운스트림 리포지토리는 퍼블릭 리포지토리와 통신하지 않고 게이트웨이 리포지토리가 모든 것을 중재합니다. 이러한 방식으로 사용된 패키지는 게이트웨이 리포지토리와 원래 요청을 받은 다운스트림 리포지토리 모두에 저장됩니다.

게이트웨이 리포지토리는 미리 정의되어 있지만 사용하려면 각 프로젝트에서 만들어야 합니다. 다음 목록에는 생성할 수 있는 모든 게이트웨이 CodeCatalyst 리포지토리와 해당 리포지토리가 연결된 패키지 권한이 포함되어 있습니다.

  • npm-public-registry-gatewaynpmjs.com의 npm 패키지를 제공합니다.

  • maven-central-gateway메이븐 센트럴 리포지토리의 메이븐 패키지를 제공합니다.

  • google-android-gateway구글 안드로이드의 Maven 패키지를 제공합니다.

  • 커먼웨어 게이트웨이는 에서 Maven 패키지를 제공합니다. CommonsWare

  • gradle-plugins-gatewayGradle 플러그인의 Maven 패키지를 제공합니다.

  • nuget-gallery-gateway갤러리에서 NuGet NuGet 패키지를 제공합니다.

  • pypi-gateway는 파이썬 패키지 인덱스에서 파이썬 패키지를 제공합니다.