Conceitos de pacotes - Amazon CodeCatalyst

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á.

Conceitos de pacotes

Aqui estão alguns conceitos e termos que você deve conhecer ao gerenciar, publicar ou consumir pacotes CodeCatalyst.

Pacotes

Um pacote é um pacote que inclui o software e os metadados necessários para instalar o software e resolver quaisquer dependências. CodeCatalyst suporta o formato de pacote npm.

Um pacote consiste em:

  • Um nome (por exemplo, webpack é o nome de um pacote npm popular)

  • Um namespace opcional (por exemplo, @types em) @types/node

  • Um conjunto de versões (por exemplo,1.0.0,1.0.1,1.0.2)

  • Metadados em nível de pacote (por exemplo, tags npm dist)

Namespaces de pacotes

Alguns formatos de pacotes oferecem suporte a nomes de pacotes hierárquicos para organizar pacotes em grupos lógicos e ajudar a evitar colisões de nomes. Pacotes com o mesmo nome podem ser armazenados em namespaces diferentes. Por exemplo, o npm suporta escopos, e o pacote npm @types/node tem um escopo @types e um nome de. node Há vários outros nomes de pacotes no escopo @types. Em CodeCatalyst, o escopo (“tipos”) é chamado de namespace do pacote e o nome (“nó”) é chamado de nome do pacote. Para pacotes do Maven, o namespace do pacote corresponde ao groupID do Maven. O pacote org.apache.logging.log4j:log4j do Maven tem o groupID (namespace do pacote) org.apache.logging.log4j e o artifactID (nome do pacote) log4j. Alguns formatos de pacote, como Python, não oferecem suporte a nomes hierárquicos com um conceito semelhante ao npm scope ou ao Maven GroupID. Se você não tem como agrupar nomes de pacotes, pode ser mais difícil evitar colisões de nomes.

Versões do pacote

A versão do pacote identifica a versão específica de um pacote, como @types/node@12.6.9. O formato e a semântica do número da versão variam conforme os diferentes formatos de pacote. Por exemplo, as versões dos pacotes do npm devem estar em conformidade com a especificação de Versionamento semântico. Em CodeCatalyst, uma versão do pacote consiste no identificador da versão, nos package-version-level metadados e em um conjunto de ativos.

Ativos

Um ativo é um arquivo individual armazenado no CodeCatalyst qual está associado a uma versão do pacote, como um arquivo npm ou um .tgz arquivo Maven POM orJAR.

Repositórios de pacotes

Um repositório de CodeCatalyst pacotes contém um conjunto de pacotes, que contêm versões de pacotes, cada uma delas mapeada para um conjunto de ativos. Os repositórios de pacotes são poliglotas, o que significa que um único repositório pode conter pacotes de qualquer tipo compatível. Cada repositório de pacotes expõe endpoints para buscar e publicar pacotes usando ferramentas como o NuGet CLIs (nuget,dotnet), o npmCLI, o Maven CLI () e o Python (mvne). CLIs pip twine Para obter informações sobre cotas de pacotes em CodeCatalyst, incluindo quantos repositórios de pacotes podem ser criados em cada espaço, consulte. Cotas para pacotes

Você pode vincular um repositório de pacotes a outro definindo-o como upstream. Quando um repositório é definido como upstream, você pode usar qualquer pacote do upstream, bem como quaisquer repositórios upstream adicionais na cadeia. Para obter mais informações, consulte Repositórios upstream.

Os repositórios Gateway são um tipo especial de repositório de pacotes que extrai e armazena pacotes de autoridades externas oficiais de pacotes. Para obter mais informações, consulte Repositórios de gateway.

Repositórios upstream

Você pode usar CodeCatalyst para criar um relacionamento upstream entre dois repositórios de pacotes. Um repositório de pacotes é um upstream de outro quando as versões do pacote que ele contém podem ser acessadas a partir do endpoint do repositório downstream do repositório. Com um relacionamento inicial, o conteúdo dos dois repositórios de pacotes é efetivamente mesclado do ponto de vista de um cliente.

Por exemplo, se um gerenciador de pacotes solicitar uma versão de pacote que não existe em um repositório, CodeCatalyst pesquisará a versão do pacote nos repositórios upstream configurados. Os repositórios upstream são pesquisados na ordem em que estão configurados e, quando um pacote é encontrado, CodeCatalyst a pesquisa é interrompida.

Repositórios de gateway

Um repositório de gateway é um tipo especial de repositório de pacotes conectado a uma autoridade de pacotes oficial e externa suportada. Ao adicionar um repositório de gateway como repositório upstream, você pode consumir pacotes da autoridade oficial de pacotes correspondente. Seu repositório downstream não se comunica com o repositório público; em vez disso, tudo é intermediado pelo repositório do gateway. Os pacotes consumidos dessa maneira são armazenados no repositório do gateway e no repositório downstream que recebeu a solicitação original.

Os repositórios do gateway são predefinidos, mas devem ser criados em cada projeto para serem usados. A lista a seguir contém todos os repositórios de gateway que podem ser criados CodeCatalyst e a autoridade do pacote à qual eles estão conectados.

  • npm-public-registry-gatewayfornece pacotes npm de npmjs.com.

  • maven-central-gatewayfornece pacotes Maven do repositório Maven Central.

  • google-android-gatewayfornece pacotes Maven do Google Android.

  • commonsware-gateway fornece pacotes Maven de. CommonsWare

  • gradle-plugins-gatewayfornece pacotes Maven dos plug-ins do Gradle.

  • nuget-gallery-gatewayfornece NuGet pacotes da NuGet Galeria.

  • pypi-gateway fornece pacotes Python do Python Package Index.