Ordre de priorité du référentiel en amont - CodeArtifact

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ordre de priorité du référentiel en amont

Lorsque vous demandez une version de package à partir d'un référentiel comportant un ou plusieurs référentiels en amont, leur priorité correspond à l'ordre dans lequel ils ont été répertoriés lors de l'appel de la update-repository commande create-repository or. Lorsque la version du package demandée est trouvée, la recherche s'arrête, même si la recherche n'a pas été effectuée dans tous les référentiels en amont. Pour plus d’informations, consultez Ajouter ou supprimer des référentiels en amont ()AWS CLI.

Utilisez la describe-repository commande pour voir l'ordre de priorité.

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

Le résultat peut être le suivant. Cela montre que la priorité du dépôt en amont est upstream-1 la première, upstream-2 la deuxième et la upstream-3 troisième.

{ "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": [] } }

Exemple d'ordre de priorité simple

Dans le schéma suivant, le my_repo référentiel comporte trois référentiels en amont. L'ordre de priorité des référentiels en amont estupstream-1,upstream-2,upstream-3.

Schéma de référentiel en amont simple montrant my_repo avec 3 référentiels en amont.

Une demande de version de package in my_repo recherche les référentiels dans l'ordre suivant jusqu'à ce qu'elle soit trouvée ou jusqu'à ce qu'une Not Found réponse HTTP 404 soit renvoyée au client :

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

Si la version du package est trouvée, la recherche s'arrête, même si elle n'a pas été recherchée dans tous les référentiels en amont. Par exemple, si la version du package est trouvée dansupstream-1, la recherche s'arrête et CodeArtifact ne porte pas sur upstream-2 ouupstream-3.

Lorsque vous utilisez la AWS CLI commande list-package-versions pour répertorier les versions du packagemy_repo, elle n'y apparaît quemy_repo. Il ne répertorie pas les versions des packages dans les référentiels en amont.

Exemple d'ordre de priorité complexe

Si un dépôt en amont possède ses propres référentiels en amont, la même logique est utilisée pour trouver une version de package avant de passer au dépôt en amont suivant. Supposons, par exemple, que votre my_repo référentiel comporte deux référentiels en amont, A etB. Si le référentiel A possède des référentiels en amont, une demande de version de package apparaît d'my_repoabord my_repoA, puis dans les référentiels en amont deA, et ainsi de suite.

Dans le schéma suivant, le my_repo référentiel contient les référentiels en amont. ALe référentiel en amont comporte deux référentiels en amont et en D possède un en amont. Les référentiels en amont situés au même niveau dans le diagramme apparaissent dans leur ordre de priorité, de gauche à droite (le référentiel A a un ordre de priorité plus élevé que le référentielB, et le référentiel C a un ordre de priorité plus élevé que le référentielD).

Un schéma de référentiel en amont plus complexe avec 2 référentiels en amont A et B et des référentiels en amont supplémentaires.

Dans cet exemple, une demande de version de package est consultée dans my_repo les référentiels dans l'ordre suivant jusqu'à ce qu'elle soit trouvée, ou jusqu'à ce qu'un gestionnaire de packages renvoie une Not Found réponse HTTP 404 au client :

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B