업스트림 리포지토리 우선순위 순서 - CodeArtifact

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

업스트림 리포지토리 우선순위 순서

업스트림 리포지토리가 하나 이상 있는 리포지토리에서 패키지 버전을 요청하는 경우 패키지 버전의 우선 순위는 create-repository 또는 update-repository 명령을 호출할 때 나열된 순서와 일치합니다. 요청된 패키지 버전을 찾으면 업스트림 저장소를 모두 검색하지 않았더라도 검색이 중지됩니다. 자세한 내용은 업스트림 리포지토리 추가 또는 제거(AWS CLI) 섹션을 참조하세요.

describe-repository 명령을 사용하면 우선순위 순서를 확인할 수 있습니다.

aws codeartifact describe-repository --repository my_repo --domain my_domain --domain-owner 111122223333

결과는 다음과 같을 수 있습니다. 업스트림 리포지토리 우선 순위가 upstream-1 첫 번째, upstream-2 두 번째, upstream-3 세 번째임을 알 수 있습니다.

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-east-1:111122223333:repository/my_domain/my_repo", "description": "My new repository", "upstreams": [ { "repositoryName": "upstream-1" }, { "repositoryName": "upstream-2" }, { "repositoryName": "upstream-3" } ], "externalConnections": [] } }

간단한 우선순위 순서 예제

다음 다이어그램에서 my_repo 리포지토리에는 업스트림 리포지토리가 세 개 있습니다. 업스트림 리포지토리의 우선 순위는 upstream-1, upstream-2, upstream-3입니다.


               3개의 업스트림 리포지토리가 있는 my_repo를 보여 주는 간단한 업스트림 리포지토리 다이어그램

my_repo에서 패키지 버전을 요청하면 해당 버전을 찾거나 HTTP 404 Not Found 응답이 클라이언트에 반환될 때까지 다음 순서로 리포지토리를 검색합니다.

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

패키지 버전을 찾으면 업스트림 저장소를 모두 검색하지 않았더라도 검색이 중지됩니다. 예를 들어 패키지 버전이 upstream-1에 있는 경우 검색이 중지되고 CodeArtifact는 upstream-2 또는 upstream-3를 검색하지 않습니다.

my_repo에서 list-package-versions AWS CLI 명령을 사용하여 패키지 버전을 나열하는 경우 패키지 버전은 my_repo 안에서만 검색됩니다. 업스트림 리포지토리의 패키지 버전은 나열되지 않습니다.

복잡한 우선순위 순서 예제

업스트림 리포지토리에 자체 업스트림 리포지토리가 있는 경우 다음 업스트림 리포지토리로 이동하기 전에 동일한 로직을 사용하여 패키지 버전을 찾습니다. 예를 들어 my_repo 리포지토리에 업스트림 리포지토리 두 개와 AB가 있다고 가정해 보겠습니다. A 리포지토리에 업스트림 리포지토리가 있는 경우 my_repo에서 패키지 버전에 대한 요청을 하면 가장 먼저 my_repo, 두 번째로는 A, 그 다음엔 A의 업스트림 리포지토리를 찾는 식입니다.

다음 다이어그램에서 my_repo 리포지토리는 업스트림 리포지토리를 포함합니다. A 업스트림 리포지토리에는 업스트림 리포지토리가 두 개 있고 D 업스트림 리포지토리에는 한 개 있습니다. 다이어그램에서 동일한 수준의 업스트림 리포지토리는 왼쪽에서 오른쪽으로 우선 순위가 표시됩니다. A 리포지토리는 B 리포지토리보다 우선 순위가 높고 C 리포지토리는 D 리포지토리보다 우선 순위가 높습니다.


               A, B 2개의 업스트림 리포지토리와 추가 업스트림 리포지토리가 있는 좀 더 복잡한 업스트림 리포지토리 다이어그램

이 예제에서는 my_repo에서 패키지 버전을 요청하면 해당 버전을 찾거나 패키지 관리자가 HTTP 404 Not Found 응답을 클라이언트에 반환할 때까지 리포지토리를 다음 순서로 검색합니다.

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B