Conectar un CodeArtifact repositorio a un repositorio público - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conectar un CodeArtifact repositorio a un repositorio público

Puedes añadir una conexión externa entre un CodeArtifact repositorio y un repositorio público externo, como https://npmjs.com o el repositorio central de Maven. Luego, cuando solicitas un paquete del CodeArtifact repositorio que aún no esté presente en el repositorio, podrás obtener el paquete desde la conexión externa. Esto permite consumir las dependencias de código abierto que utiliza su aplicación.

En CodeArtifact, la forma prevista de utilizar las conexiones externas es tener un repositorio por dominio con una conexión externa a un repositorio público determinado. Por ejemplo, si quiere conectarse a npmjs.com, configure un repositorio de su dominio con una conexión externa a npmjs.com y configure todos los demás repositorios con una conexión anterior. De esta forma, todos los repositorios pueden utilizar los paquetes que ya se han obtenido de npmjs.com, en lugar de volver a buscarlos y almacenarlos.

Conectarse a un repositorio externo (consola)

Cuando utilice la consola para añadir una conexión a un repositorio externo, ocurrirá lo siguiente:

  1. Si aún no existe uno, se creará un -store repositorio para el repositorio externo en tu CodeArtifact dominio. Estos repositorios -store se comportan como repositorios intermedios entre su repositorio y el repositorio externo y le permiten conectarse a más de un repositorio externo.

  2. El repositorio -store correspondiente se añade de forma previa a su repositorio.

La siguiente lista contiene cada -store repositorio CodeArtifact y el repositorio externo respectivo al que se conectan.

  1. cargo-storeestá conectado a crates.io.

  2. clojars-store está conectado al repositorio de Clojars.

  3. commonsware-storeestá conectado al repositorio de Android CommonsWare .

  4. google-android-store está conectado a Google Android.

  5. gradle-plugins-store está conectado a los complementos de Gradle.

  6. maven-central-store está conectado al repositorio central de Maven.

  7. npm-store está conectado a npmjs.com.

  8. nuget-store está conectado a nuget.org.

  9. pypi-store está conectado a la Python Packaging Authority.

  10. rubygems-storeestá conectado a RubyGems .org.

Para conectarse a un repositorio externo (consola)
  1. Abra la AWS CodeArtifact consola en https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. En el panel de navegación, elija Dominios y, a continuación, elija el nombre de dominio que contiene el repositorio.

  3. Elija el nombre de su repositorio.

  4. Elija Editar.

  5. En repositorios ascendentes, elija Asociar un repositorio ascendente y añada el repositorio -store correspondiente que esté conectado como un repositorio ascendente.

  6. Seleccione Actualizar repositorio.

Una vez que el -store repositorio se haya agregado como repositorio principal, los administradores de paquetes conectados a su CodeArtifact repositorio pueden recuperar los paquetes del repositorio externo correspondiente.

Conectarse a un repositorio externo (CLI)

Puedes usar el AWS CLI para conectar tu CodeArtifact repositorio a un repositorio externo añadiendo una conexión externa directamente al repositorio. Esto permitirá a los usuarios conectados al CodeArtifact repositorio, o a cualquiera de sus repositorios posteriores, obtener paquetes del repositorio externo configurado. Cada CodeArtifact repositorio solo puede tener una conexión externa.

Se recomienda tener un repositorio por dominio con una conexión externa a un repositorio público determinado. Para conectar otros repositorios al repositorio público, agregue el repositorio con la conexión externa como ascendente para ellos. Si usted u otra persona en su dominio ya ha configurado conexiones externas en la consola, es probable que su dominio ya tenga un repositorio -store con una conexión externa al repositorio público al que desea conectarse. Para obtener más información sobre los repositorios -store y la conexión con la consola, consulte Conectarse a un repositorio externo (consola).

Para agregar una conexión externa a un CodeArtifact repositorio (CLI)
  • Utilice associate-external-connection para agregar una conexión externa. El siguiente ejemplo conecta un repositorio al registro público de npm, npmjs.com. Para ver una lista de los repositorios externos admitidos, consulte Repositorios de conexiones externas compatibles.

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

    Ejemplo de salida:

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

Tras añadir una conexión externa, consulte Solicitud de paquetes desde conexiones externas para obtener información sobre cómo solicitar paquetes desde un repositorio externo con una conexión externa.

Repositorios de conexiones externas compatibles

CodeArtifact admite una conexión externa a los siguientes repositorios públicos. Para usar la CodeArtifact CLI para especificar una conexión externa, utilice el valor de la columna Nombre para el --external-connection parámetro cuando ejecute el associate-external-connection comando.

Repository type Descripción Nombre
Maven Repositorio de Clojars public:maven-clojars
Maven CommonsWare Repositorio de Android public:maven-commonsware
Maven Repositorio de Google de Android public:maven-googleandroid
Maven Repositorio de complementos de Gradle public:maven-gradleplugins
Maven Central de Maven public:maven-central
npm registro público de npm public:npmjs
NuGet NuGet Galería public:nuget-org
Python Índice de paquetes de Python public:pypi
Ruby RubyGems.org public:ruby-gems-org
Rust Crates.io public:crates-io

Eliminar una conexión externa (CLI)

Para eliminar una conexión externa que se agregó mediante el associate-external-connection comando de, utilice. AWS CLIdisassociate-external-connection

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

Ejemplo de salida:

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