Connect un CodeArtifact repository a un repository pubblico - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connect un CodeArtifact repository a un repository pubblico

Puoi aggiungere una connessione esterna tra un repository e un CodeArtifact repository pubblico esterno come https://npmjs.com o il repository Maven Central. Quindi, quando richiedi un pacchetto dal CodeArtifact repository che non è già presente nel repository, il pacchetto può essere recuperato dalla connessione esterna. In questo modo è possibile utilizzare le dipendenze open source utilizzate dall'applicazione.

Nel CodeArtifact, il modo previsto di utilizzare le connessioni esterne consiste nell'avere un repository per dominio con una connessione esterna a un determinato archivio pubblico. Ad esempio, se desideri connetterti a npmjs.com, configura un repository nel tuo dominio con una connessione esterna a npmjs.com e configura tutti gli altri repository con una connessione upstream. In questo modo, tutti i repository possono utilizzare i pacchetti che sono già stati recuperati da npmjs.com, anziché recuperarli e archiviarli nuovamente.

Connect a un repository esterno (console)

Quando si utilizza la console per aggiungere una connessione a un repository esterno, si verifica quanto segue:

  1. Un -store repository per il repository esterno verrà creato nel tuo CodeArtifact dominio se non ne esiste già uno. Questi -store repository si comportano come repository intermedi tra il tuo repository e il repository esterno e consentono di connetterti a più di un repository esterno.

  2. Il -store repository appropriato viene aggiunto come repository a monte del repository.

L'elenco seguente contiene ogni -store repository presente CodeArtifact e il rispettivo repository esterno a cui si connettono.

  1. commonsware-storeè connesso ad CommonsWare Android Repository.

  2. google-android-storeè connesso a Google Android.

  3. gradle-plugins-storeè collegato ai plugin Gradle.

  4. maven-central-storeè collegato a Maven Central Repository.

  5. clojars-storeè collegato a Clojars Repository.

  6. npm-storeè collegato a npmjs.com.

  7. nuget-storeè collegato a nuget.org.

  8. pypi-storeè collegato alla Python Packaging Authority.

  9. rubygems-storeè connesso RubyGems a.org.

Per connettersi a un repository esterno (console)
  1. Apri la AWS CodeArtifact console all'indirizzo https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. Nel riquadro di navigazione, scegli Domini, quindi scegli il nome di dominio che contiene il tuo repository.

  3. Scegli il nome del tuo repository.

  4. Scegli Modifica.

  5. Nei repository upstream, scegli Associa repository upstream e aggiungi il repository appropriato collegato come -store repository upstream.

  6. Scegli Aggiorna repository.

Dopo che il -store repository è stato aggiunto come repository upstream, i gestori di pacchetti collegati al repository possono recuperare i pacchetti dal CodeArtifact rispettivo repository esterno.

Connect a un repository esterno (CLI)

È possibile utilizzare il AWS CLI per connettere il CodeArtifact repository a un repository esterno aggiungendo una connessione esterna direttamente al repository. Ciò consentirà agli utenti connessi al CodeArtifact repository, o a uno qualsiasi dei suoi repository a valle, di recuperare i pacchetti dal repository esterno configurato. Ogni CodeArtifact repository può avere solo una connessione esterna.

Si consiglia di avere un repository per dominio con una connessione esterna a un determinato repository pubblico. Per connettere altri repository all'archivio pubblico, aggiungi il repository con la connessione esterna come upstream. Se tu o qualcun altro nel tuo dominio avete già configurato connessioni esterne nella console, è probabile che il dominio disponga già di un -store repository con una connessione esterna all'archivio pubblico a cui desideri connetterti. Per ulteriori informazioni sugli -store archivi e sulla connessione con la console, consulta. Connect a un repository esterno (console)

Per aggiungere una connessione esterna a un CodeArtifact repository (CLI)
  • Utilizzare associate-external-connection per aggiungere una connessione esterna. L'esempio seguente collega un repository al registro pubblico npm, npmjs.com. Per un elenco dei repository esterni supportati, vedere. Archivi di connessioni esterne supportati

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

    Output di esempio:

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

Dopo aver aggiunto una connessione esterna, consulta Richiesta di pacchetti da connessioni esterne per informazioni sulla richiesta di pacchetti da un repository esterno con una connessione esterna.

Archivi di connessioni esterne supportati

CodeArtifact supporta una connessione esterna ai seguenti archivi pubblici. Per utilizzare la CodeArtifact CLI per specificare una connessione esterna, utilizzate il valore nella colonna Nome per il --external-connection parametro quando eseguite il associate-external-connection comando.

Repository type (Tipo di repository) Descrizione Nome
npm registro pubblico npm public:npmjs
Python Indice dei pacchetti Python public:pypi
Maven Maven Central public:maven-central
Maven Archivio Google Android public:maven-googleandroid
Maven Archivio di plugin Gradle public:maven-gradleplugins
Maven CommonsWare Archivio Android public:maven-commonsware
Maven Archivio Clojars public:maven-clojars
NuGet NuGet Galleria public:nuget-org
Ruby RubyGems.org public:ruby-gems-org

Rimuovere una connessione esterna (CLI)

Per rimuovere una connessione esterna che è stata aggiunta utilizzando il associate-external-connection comando in AWS CLI, utilizzaredisassociate-external-connection.

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

Output di esempio:

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