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
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.
Tópicos
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á:
Um repositório
-storepara o repositório externo será criado em seu domínio do CodeArtifact, caso ainda não exista um. Esses repositórios-storese 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.O repositório
-storeadequado é 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.
cargo-storeestá conectado a crates.io.clojars-storeestá conectado ao repositório Clojars.commonsware-storeestá conectado ao repositório CommonsWare Android.google-android-storeestá conectado ao Google Android.gradle-plugins-storeestá conectado aos plug-ins do Gradle.maven-central-storeestá conectado ao repositório Maven Central.npm-storeestá conectado a npmjs.com.nuget-storeestá conectado a nuget.org.pypi-storeestá conectado ao Python Packaging Authority.rubygems-storeestá conectado a RubyGems.org.
Para se conectar a um repositório externo (console)
Abra o console do AWS CodeArtifact em https://console.aws.amazon.com/codesuite/codeartifact/home
. -
No painel de navegação, selecione Domínios e selecione o nome de domínio que contém o repositório.
-
Escolha o nome para o seu repositório.
-
Selecione a opção Editar.
-
Em Repositórios upstream, escolha Associar repositório upstream e adicione o repositório
-storecorreto conectado como upstream. -
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-connectionpara 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-connectionpublic:npmjs\ --domainmy_domain--domain-owner111122223333--repositorymy_repoResultado 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-connectionpublic:npmjs\ --domainmy_domain--domain-owner111122223333--repositorymy_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": [] } }