Connect un CodeArtifact dépôt à un dépôt public - 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.

Connect un CodeArtifact dépôt à un dépôt public

Vous pouvez ajouter une connexion externe entre un CodeArtifact dépôt et un dépôt public externe tel que https://npmjs.com ou le référentiel Maven Central. Ensuite, lorsque vous demandez un package au CodeArtifact référentiel qui n'est pas déjà présent dans le référentiel, le package peut être récupéré à partir de la connexion externe. Cela permet de consommer les dépendances open source utilisées par votre application.

Dans CodeArtifact, la manière prévue d'utiliser les connexions externes est d'avoir un référentiel par domaine avec une connexion externe à un référentiel public donné. Par exemple, si vous souhaitez vous connecter à npmjs.com, configurez un référentiel de votre domaine avec une connexion externe à npmjs.com et configurez tous les autres référentiels avec une connexion amont. De cette façon, tous les référentiels peuvent utiliser les packages qui ont déjà été récupérés sur npmjs.com, plutôt que de les récupérer et de les stocker à nouveau.

Se connecter à un référentiel externe (console)

Lorsque vous utilisez la console pour ajouter une connexion à un référentiel externe, les événements suivants se produisent :

  1. Un -store dépôt pour le dépôt externe sera créé dans votre CodeArtifact domaine s'il n'en existe pas déjà un. Ces -store référentiels se comportent comme des référentiels intermédiaires entre votre dépôt et le référentiel externe et vous permettent de vous connecter à plusieurs référentiels externes.

  2. Le -store référentiel approprié est ajouté en amont à votre référentiel.

La liste suivante répertorie chaque -store référentiel CodeArtifact et le référentiel externe auquel ils se connectent.

  1. cargo-storeest connecté à crates.io.

  2. clojars-storeest connecté au dépôt Clojars.

  3. commonsware-storeest connecté au référentiel CommonsWare Android.

  4. google-android-storeest connecté à Google Android.

  5. gradle-plugins-storeest connecté aux plugins Gradle.

  6. maven-central-storeest connecté au référentiel central Maven.

  7. npm-storeest connecté à npmjs.com.

  8. nuget-storeest connecté à nuget.org.

  9. pypi-storeest connecté à la Python Packaging Authority.

  10. rubygems-storeest connecté à RubyGems .org.

Pour se connecter à un référentiel externe (console)
  1. Ouvrez la AWS CodeArtifact console à l'adresse https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. Dans le volet de navigation, choisissez Domains, puis le nom de domaine qui contient votre référentiel.

  3. Choisissez le nom de votre dépôt.

  4. Choisissez Modifier.

  5. Dans Référentiels en amont, choisissez Associer un référentiel en amont et ajoutez le -store référentiel approprié connecté en tant que référentiel en amont.

  6. Choisissez Mettre à jour le référentiel.

Une fois le -store référentiel ajouté en tant que référentiel en amont, les gestionnaires de packages connectés à votre CodeArtifact référentiel peuvent récupérer les packages depuis le référentiel externe correspondant.

Se connecter à un référentiel externe (CLI)

Vous pouvez utiliser le AWS CLI pour connecter votre CodeArtifact dépôt à un référentiel externe en ajoutant une connexion externe directement au référentiel. Cela permettra aux utilisateurs connectés au CodeArtifact référentiel, ou à l'un de ses référentiels en aval, de récupérer des packages depuis le référentiel externe configuré. Chaque CodeArtifact dépôt ne peut avoir qu'une seule connexion externe.

Il est recommandé d'avoir un dépôt par domaine avec une connexion externe à un dépôt public donné. Pour connecter d'autres référentiels au référentiel public, ajoutez le référentiel avec la connexion externe en amont. Si vous ou un autre membre de votre domaine avez déjà configuré des connexions externes dans la console, votre domaine possède probablement déjà un -store référentiel avec une connexion externe au référentiel public auquel vous souhaitez vous connecter. Pour plus d'informations sur -store les référentiels et la connexion à la console, consultezSe connecter à un référentiel externe (console).

Pour ajouter une connexion externe à un CodeArtifact référentiel (CLI)
  • associate-external-connectionÀ utiliser pour ajouter une connexion externe. L'exemple suivant connecte un référentiel au registre public npm, npmjs.com. Pour obtenir la liste des référentiels externes pris en charge, consultezRéférentiels de connexions externes pris en charge.

    aws codeartifact associate-external-connection --external-connection public:npmjs \ --domain my_domain --domain-owner 111122223333 --repository my_repo

    Exemple de sortie :

    { "repository": { "name": my_repo "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo", "description": "A description of my_repo", "upstreams": [], "externalConnections": [ { "externalConnectionName": "public:npmjs", "packageFormat": "npm", "status": "AVAILABLE" } ] } }

Après avoir ajouté une connexion externe, consultez Demande de packages à partir de connexions externes pour plus d'informations sur la demande de packages depuis un référentiel externe avec une connexion externe.

Référentiels de connexions externes pris en charge

CodeArtifact prend en charge une connexion externe aux référentiels publics suivants. Pour utiliser la CodeArtifact CLI afin de spécifier une connexion externe, utilisez la valeur du --external-connection paramètre dans la colonne Nom lorsque vous exécutez la associate-external-connection commande.

Type de référentiel Description Nom
Maven Référentiel Clojar public:maven-clojars
Maven CommonsWare Référentiel Android public:maven-commonsware
Maven Référentiel Google Android public:maven-googleandroid
Maven Référentiel de plugins Gradle public:maven-gradleplugins
Maven Maven Central public:maven-central
npm registre public npm public:npmjs
NuGet NuGet Galerie public:nuget-org
Python Index des packages Python public:pypi
Ruby RubyGems.org public:ruby-gems-org
Rust Crates.io public:crates-io

Supprimer une connexion externe (CLI)

Pour supprimer une connexion externe ajoutée à l'aide de la associate-external-connection commande contenue dans le AWS CLI, utilisezdisassociate-external-connection.

aws codeartifact disassociate-external-connection --external-connection public:npmjs \ --domain my_domain --domain-owner 111122223333 --repository my_repo

Exemple de sortie :

{ "repository": { "name": my_repo "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:repository/my_domain/my_repo", "description": "A description of my_repo", "upstreams": [], "externalConnections": [] } }