Configure e use o Cargo com CodeArtifact - 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á.

Configure e use o Cargo com CodeArtifact

Você pode usar o Cargo para publicar e baixar caixas de CodeArtifact repositórios ou para buscar caixas em crates.io, o registro de caixas da comunidade Rust. Este tópico descreve como configurar o Cargo para se autenticar e usar um CodeArtifact repositório.

Configure o Cargo com CodeArtifact

Para usar o Cargo para instalar e publicar caixas AWS CodeArtifact, primeiro você precisa configurá-las com as informações do seu CodeArtifact repositório. Siga as etapas em um dos procedimentos a seguir para configurar o Cargo com as informações e CodeArtifact credenciais do endpoint do repositório.

Configure o Cargo usando as instruções do console

Você pode usar as instruções de configuração no console para conectar o Cargo ao seu CodeArtifact repositório. As instruções do console fornecem uma configuração Cargo personalizada para seu CodeArtifact repositório. Você pode usar essa configuração personalizada para configurar o Cargo sem precisar encontrar e preencher suas CodeArtifact informações.

  1. Abra o AWS CodeArtifact console em https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. No painel de navegação, escolha Repositórios e, em seguida, escolha um repositório para se conectar ao Cargo.

  3. Escolha Exibir instruções de conexão.

  4. Escolha seu sistema operacional.

  5. Escolha Cargo.

  6. Siga as instruções geradas para conectar o Cargo ao seu CodeArtifact repositório.

Configurar o Cargo manualmente

Se você não puder ou não quiser usar as instruções de configuração do console, você pode usar as instruções a seguir para conectar o Cargo ao seu CodeArtifact repositório manualmente.

macOS and Linux

Para configurar o Cargo com CodeArtifact, você precisa definir seu CodeArtifact repositório como um registro na configuração do Cargo e fornecer credenciais.

  • Substitua my_registry pelo nome do seu registro.

  • Substitua my_domain pelo nome do seu CodeArtifact domínio.

  • Substitua 111122223333 pela ID da AWS conta do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir --domain-owner. Para ter mais informações, consulte Domínios entre contas.

  • Substitua my_repo pelo nome do seu CodeArtifact repositório.

Copie a configuração para publicar e baixar pacotes Cargo em seu repositório e salve-a no ~/.cargo/config.toml arquivo para uma configuração em nível de sistema ou .cargo/config.toml para uma configuração em nível de projeto:

[registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"
Windows: Download packages only

Para configurar o Cargo com CodeArtifact, você precisa definir seu CodeArtifact repositório como um registro na configuração do Cargo e fornecer credenciais.

  • Substitua my_registry pelo nome do seu registro.

  • Substitua my_domain pelo nome do seu CodeArtifact domínio.

  • Substitua 111122223333 pela ID da AWS conta do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir --domain-owner. Para ter mais informações, consulte Domínios entre contas.

  • Substitua my_repo pelo nome do seu CodeArtifact repositório.

Copie a configuração para baixar somente pacotes Cargo do seu repositório e salve-a no %USERPROFILE%\.cargo\config.toml arquivo para uma configuração em nível de sistema ou .cargo\config.toml para uma configuração em nível de projeto:

[registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"
Windows: Publish and download packages
  1. Para configurar o Cargo com CodeArtifact, você precisa definir seu CodeArtifact repositório como um registro na configuração do Cargo e fornecer credenciais.

    • Substitua my_registry pelo nome do seu registro.

    • Substitua my_domain pelo nome do seu CodeArtifact domínio.

    • Substitua 111122223333 pela ID da AWS conta do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir --domain-owner. Para ter mais informações, consulte Domínios entre contas.

    • Substitua my_repo pelo nome do seu CodeArtifact repositório.

    Copie a configuração para publicar e baixar pacotes Cargo em seu repositório e salve-a no %USERPROFILE%\.cargo\config.toml arquivo para uma configuração em nível de sistema ou em nível de .cargo\config.toml projeto.

    É recomendável usar o provedor de credenciaiscargo:token, que usa as credenciais armazenadas em seu ~/.cargo/credentials.toml arquivo. Você pode encontrar um erro durante o cargo publish uso, cargo:token-from-stdout porque o cliente Cargo não corta o token de autorização adequadamente durante cargo publish o uso.

    [registries.my_registry] index = "sparse+https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/cargo/my_repo/" credential-provider = "cargo:token" [registry] default = "my_registry" [source.crates-io] replace-with = "my_registry"
  2. Para publicar pacotes Cargo em seu repositório com o Windows, você deve usar o CodeArtifact get-authorization-token comando e o login comando Cargo para obter um token de autorização e suas credenciais.

    • Substitua my_registry pelo nome do seu registro, conforme definido em. [registries.my_registry]

    • Substitua my_domain pelo nome do seu CodeArtifact domínio.

    • Substitua 111122223333 pela ID da AWS conta do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir --domain-owner. Para ter mais informações, consulte Domínios entre contas.

    aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --region us-west-2 --query authorizationToken --output text | cargo login --registry my_registry
    nota

    O token de autorização gerado é válido por 12 horas. Você precisará criar um novo se tiverem passado 12 horas desde a criação do token.

A [registries.my_registry] seção no exemplo anterior define um registro com my_registry index e fornece credential-provider informações.

  • indexespecifica a URL do índice do seu registro, que é o endpoint do CodeArtifact repositório que termina com a. / O sparse+ prefixo é obrigatório para registros que não são repositórios Git.

  • credential-providerespecifica o provedor de credenciais para o registro fornecido. Se credential-provider não estiver definido, os provedores registry.global-credential-providers serão usados. Ao credential-provider configurar comocargo:token-from-stdout, o cliente Cargo buscará o novo token de autorização automaticamente ao publicar ou fazer o download do seu CodeArtifact repositório, portanto, você não precisa atualizar manualmente o token de autorização a cada 12 horas.

A [registry] seção define o registro padrão usado.

  • defaultespecifica o nome do registro definido em[registries.my_registry], para usar por padrão ao publicar ou baixar do seu CodeArtifact repositório.

A [source.crates-io] seção define o registro padrão usado quando um não é especificado.

  • replace-with = "my_registry"substitui o registro público, crates.io, pelo seu CodeArtifact repositório definido em. [registries.my_registry] Essa configuração é recomendada se você precisar solicitar pacotes da conexão externa, como crates.io.

    Para obter todos os benefícios CodeArtifact, como o controle de origem do pacote que evita ataques de confusão de dependências, é recomendável usar a substituição de origem. Com a substituição da fonte, faz o CodeArtifact proxy de todas as solicitações para a conexão externa e copia o pacote da conexão externa para o seu repositório. Sem a substituição da fonte, o cliente Cargo recuperará diretamente o pacote com base na configuração em seu Cargo.toml arquivo em seu projeto. Se uma dependência não estiver marcada comregistry=my_registry, o cliente Cargo a recuperará diretamente do crates.io sem se comunicar com seu repositório. CodeArtifact

    nota

    Se você começar a usar a substituição de origem e depois atualizar seu arquivo de configuração para não usar a substituição de origem, poderá encontrar erros. O cenário oposto também pode levar a erros. Portanto, é recomendável evitar alterar a configuração do seu projeto.

Instalação de caixas de carga

Use os procedimentos a seguir para instalar caixas de carga a partir de um CodeArtifact repositório ou de crates.io.

Instale caixas de carga a partir de CodeArtifact

Você pode usar a CLI Cargo (cargo) para instalar rapidamente uma versão específica de uma caixa Cargo do seu repositório. CodeArtifact

Para instalar caixas de carga a partir de um CodeArtifact repositório com cargo
  1. Caso contrário, siga as etapas Configure e use o Cargo com CodeArtifact para configurar a cargo CLI para usar seu CodeArtifact repositório com as credenciais adequadas.

  2. Use o comando a seguir para instalar caixas de carga a partir de CodeArtifact:

    cargo add my_cargo_package@1.0.0

    Para obter mais informações, consulte cargo add no The Cargo Book.

Publicando caixas de carga para CodeArtifact

Use o procedimento a seguir para publicar caixas de carga em um CodeArtifact repositório usando a CLIcargo.

  1. Caso contrário, siga as etapas Configure e use o Cargo com CodeArtifact para configurar a cargo CLI para usar seu CodeArtifact repositório com as credenciais adequadas.

  2. Use o comando a seguir para publicar caixas de carga em um CodeArtifact repositório:

    cargo publish

    Para obter mais informações, consulte cargo publish no The Cargo Book.