Conectar um repositório do CodeArtifact a um repositório público - CodeArtifact

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conectar um repositório do CodeArtifact a um repositório público

Você pode adicionar uma conexão entre um repositório do CodeArtifact e um repositório público externo, como o https://npmjs.com ou Maven Central. Desse modo, quando você solicita um pacote do repositório do CodeArtifact que ainda não está presente no repositório, ele poderá ser obtido a partir da conexão externa. Isso possibilitará o consumo de dependências de código aberto utilizadas pelo seu aplicativo.

No CodeArtifact, o uso pretendido das conexões externas é ter um repositório por domínio com uma conexão externa com um determinado repositório público. Por exemplo, se você quiser se conectar a npmjs.com, configure um repositório em seu domínio com uma conexão externa com npmjs.com e configure todos os outros repositórios com um upstream para ele. Dessa forma, todos os repositórios serão capazes de usar os pacotes que já foram obtidos de npmjs.com, em vez de buscá-los e armazená-los novamente.

Conectar-se a um repositório externo (console)

Quando você usa o console para adicionar uma conexão a um repositório externo, o seguinte ocorrerá:

  1. Um repositório -store para o repositório externo será criado em seu domínio do CodeArtifact, caso ainda não exista um. Esses repositórios -store se comportam como repositórios intermediários entre o seu repositório e o externo e permitem que você se conecte a mais de um repositório externo.

  2. O repositório -store adequado é adicionado como um upstream ao seu repositório.

A lista a seguir contém todos os repositórios -store no CodeArtifact e o respectivo repositório externo ao qual eles se conectam.

  1. cargo-store está conectado a crates.io.

  2. clojars-store está conectado ao repositório Clojars.

  3. commonsware-store está conectado ao repositório CommonsWare Android.

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

  5. gradle-plugins-store está conectado aos plug-ins do Gradle.

  6. maven-central-store está conectado ao repositório Maven Central.

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

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

  9. pypi-store está conectado ao Python Packaging Authority.

  10. rubygems-store está conectado a RubyGems.org.

Para se conectar a um repositório externo (console)
  1. Abra o console do AWS CodeArtifact em https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. No painel de navegação, selecione Domínios e selecione o nome de domínio que contém o repositório.

  3. Escolha o nome para o seu repositório.

  4. Selecione a opção Editar.

  5. Em Repositórios upstream, escolha Associar repositório upstream e adicione o repositório -store correto conectado como upstream.

  6. Escolha Atualizar repositório.

Depois que o repositório -store for adicionado como um repositório upstream, os gerenciadores de pacotes conectados ao seu repositório do CodeArtifact conseguirão buscar pacotes do respectivo repositório externo.

Conectar-se a um repositório externo (CLI)

Você pode usar o AWS CLI para conectar seu repositório do CodeArtifact a um repositório externo adicionando uma conexão externa diretamente ao repositório. Isso permitirá que os usuários conectados ao repositório do CodeArtifact, ou a qualquer um de seus repositórios downstream, busquem pacotes do repositório externo configurado. Cada repositório do CodeArtifact pode ter apenas uma conexão externa.

É recomendável ter um repositório por domínio, com uma conexão externa com um determinado repositório público. Para conectar outros repositórios ao repositório público, basta adicionar o repositório com a conexão externa como um upstream a eles. Se você ou outra pessoa em seu domínio já tiver configurado conexões externas no console, seu domínio provavelmente já terá um repositório -store com uma conexão externa com o repositório público ao qual você deseja se conectar. Para obter mais informações sobre repositórios -store e conexão com o console, consulte Conectar-se a um repositório externo (console).

Para adicionar uma conexão externa a um repositório do CodeArtifact (CLI)
  • Use associate-external-connection para adicionar uma conexão externa. O exemplo a seguir mostra a conexão de um repositório ao registro npm público, npmjs.com. Para ver uma lista dos repositórios externos, consulte Repositórios de conexão externa compatíveis.

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

    Resultado do exemplo:

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

Depois de adicionar uma conexão externa, consulte Solicitar pacotes de conexões externas para obter informações sobre como solicitar pacotes de um repositório externo com uma conexão externa.

Repositórios de conexão externa compatíveis

O CodeArtifact oferece suporte à conexão externa com os seguintes repositórios públicos. Para usar a CLI do CodeArtifact para especificar uma conexão externa, use o valor na coluna Nome do parâmetro --external-connection quando o comando associate-external-connection é executado.

Tipo de repositório Descrição Name
Maven Repositório do Clojars public:maven-clojars
Maven Repositório CommonsWare Android public:maven-commonsware
Maven Repositório do Google Android public:maven-googleandroid
Maven Repositório de plug-ins do Gradle public:maven-gradleplugins
Maven Maven Central public:maven-central
npm Registro npm público public:npmjs
NuGet Galeria NuGet public:nuget-org
Python Python Package Index public:pypi
Ruby RubyGems.org public:ruby-gems-org
Rust Crates.io public:crates-io

Remover uma conexão externa (CLI)

Para remover uma conexão externa que foi adicionada usando o comando associate-external-connection no AWS CLI, use disassociate-external-connection.

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

Resultado do exemplo:

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