O que são pacotes do GitHub?

Concluído

Os pacotes do GitHub são um serviço de gerenciamento de pacotes que facilita a publicação de pacotes públicos ou privados junto do código-fonte.

Observação

Se você ainda não estiver familiarizado com GitHub, confira o módulo Introdução ao GitHub do Learn.

Os pacotes do GitHub são um registro de pacote

Os pacotes do GitHub permitem que você compartilhe as dependências de projeto em sua organização ou publicamente.

Quando você trabalha em um projeto que tem dependências de pacotes, é importante confiar neles, compreender o código e conectar-se com a comunidade que os criou. Dentro das organizações, você precisa descobrir rapidamente o que foi aprovado para seu uso.

Os pacotes do GitHub usam a mesma interface familiar do GitHub para encontrar pacotes públicos em qualquer lugar do GitHub ou pacotes privados em sua organização ou repositórios.

Um gerenciador de pacotes padrão

Os pacotes do GitHub são compatíveis com clientes de gerenciamento de pacotes comuns, para que você possa publicar pacotes com suas ferramentas preferidas. Se o repositório for mais complexo, talvez seja necessário publicar vários pacotes de tipos diferentes. Você também pode usar webhooks ou o GitHub Actions para personalizar totalmente seus fluxos de trabalho de publicação e pós-publicação.

Você está publicando um pacote de software livre? Muitos projetos de código aberto armazenam seu código no GitHub, portanto, você pode publicar versões de pré-lançamento dos seus pacotes para testes na sua comunidade e, em seguida, promover facilmente versões específicas para um registro público de sua escolha.

GitHub n p m package page, with description, and instructions about how to install it.

No momento em que esse texto foi escrito, os pacotes do GitHub eram compatíveis com os seguintes gerenciadores de pacotes:

  • npm, um gerenciador de pacotes do NodeJS
  • NuGet, o gerenciador de pacotes do .NET
  • RubyGems, um gerenciador de pacotes Ruby
  • Maven e Gradle, dois gerenciadores de pacotes para Java

Os pacotes do GitHub também são um registro de contêiner

Desde aplicativos completos até utilitários da CLI, os contêineres são outra forma de distribuir código. Os pacotes do GitHub permitem que você publique e distribua imagens de contêiner. Depois de publicadas (em público ou privado), use essas imagens em qualquer lugar, incluindo:

  • Em seu ambiente de desenvolvimento local
  • Como uma imagem de base do seu ambiente de desenvolvimento de Codespaces do GitHub
  • Como uma etapa para executar seu fluxo de trabalho de CI (integração contínua)/CD (implantação contínua) com o GitHub Actions
  • Em um servidor ou em um serviço de nuvem

GitHub container image page, with image versions listing, statistics and instructions about how to install it.

Comparar GitHub Packages com GitHub Releases

Os GitHub Packages são usados para publicar versões de suas bibliotecas em um feed de pacotes padrão ou em um registro de contêiner. Eles devem aproveitar as maneiras como o cliente de gerenciamento de pacotes específico trabalha com esse feed, como ao vincular de volta para o repositório em que o pacote foi criado, bem como a versão do código que foi usado.

As GitHub Releases são usadas para lançar um pacote de software empacotado, juntamente com notas sobre a versão e links para arquivos binários. Você pode baixar essas versões diretamente de sua URL exclusiva e rastrear de volta para a confirmação específica da qual foram criadas. Você só pode baixar versões como tarballs ou arquivos ZIP.

Identidade unificada e permissões

Digamos que você esteja trabalhando em um projeto que usa o GitHub para hospedar o código-fonte: o JavaScript para o front-end com npm e o Java como back-end. Dessa maneira, você mantém pelo menos três conjuntos diferentes de credenciais de usuários e permissões: repositórios Git, npm e Maven.

Com os Pacotes do GitHub, você pode usar um único conjunto de credenciais no repositório de código-fonte, no registro npm privado e no registro privado do Maven ou Gradle. Os pacotes publicados por meio do GitHub herdam a visibilidade e as permissões atribuídas no nível do repositório. Há uma nova pessoa na equipe que precisa de acesso de leitura a um pacote e seu código? Dê a eles acesso de leitura ao repositório e pronto.

Criar e publicar pacotes do GitHub

O GitHub Actions é outro recurso do GitHub que permite automatizar seus fluxos de trabalho de software. Você pode criar, testar e implantar seu código diretamente do GitHub.

Dica

Se você quiser saber mais sobre o GitHub Actions, confira o Módulo de aprendizagem Criar fluxos de trabalho de integração contínua (CI) usando o GitHub Actions.

Ao combinar o GitHub Actions e os pacotes do GitHub, você poderá criar um fluxo de trabalho que criará e testará seu código e, em seguida, poderá publicá-lo em pacotes do GitHub simplesmente enviando o código por push para o repositório.

Na próxima unidade, aprenderemos a usar nosso fluxo de trabalho para publicar em pacotes do GitHub e no Registro de Contêiner do GitHub.