O que é o GitHub Packages?

Concluído

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

Nota

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

O GitHub Packages é um registo de pacotes

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

Quando você trabalha em um projeto que tem dependências de pacote, é importante confiar neles, entender seu código e se conectar com a comunidade que os criou. Dentro das organizações, você também precisa ser capaz de encontrar 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 no GitHub, ou pacotes privados dentro de sua organização ou repositórios.

Um gestor de pacotes padrão

O GitHub Packages é compatível com clientes comuns de gerenciamento de pacotes, para que você possa publicar pacotes com suas ferramentas escolhidas. Se o repositório for mais complexo, poderá ser necessário publicar múltiplos pacotes de tipos diferentes. Você também pode usar webhooks ou Ações do GitHub para personalizar totalmente seus fluxos de trabalho de publicação e pós-publicação.

Está a publicar um pacote open-source? Muitos projetos de código aberto armazenam seu código no GitHub, para que você possa publicar versões de pré-lançamento de seus pacotes para teste em sua comunidade e, em seguida, promover facilmente versões específicas para o registro público de sua escolha.

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

Na data em que este artigo foi escrito, o GitHub Packages é compatível com os seguintes gestores de pacotes:

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

O GitHub Packages também é um registo de contentor

Desde aplicações completas até aos utilitários da CLI, os contentores são outra forma de distribuir código. O GitHub Packages permite-lhe publicar e distribuir imagens de contentor. Uma vez publicadas (em público ou em privado), pode utilizar estas imagens a partir de qualquer lugar, incluindo:

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

Compare os pacotes do GitHub com as versões do GitHub

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

As versões do GitHub são usadas para lançar um pacote de software empacotado, juntamente com notas de versão e links para arquivos binários. Você pode baixar essas versões diretamente de sua URL exclusiva e rastreá-las de volta para a confirmação específica a partir 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 usando o GitHub para hospedar o código-fonte: JavaScript para o front-end, com npm e Java para o back-end. Agora você mantém pelo menos três conjuntos diferentes de credenciais e permissões de usuário: para repositórios Git, npm e Maven.

Com os Pacotes GitHub, você pode usar um único conjunto de credenciais em seu repositório de código-fonte, seu registro npm privado e seu registro privado Maven ou Gradle. Os pacotes publicados através do GitHub herdam a visibilidade e as permissões atribuídas no nível do repositório. Um novo membro da equipa precisa de acesso de leitura a um pacote e ao respetivo código? Dê-lhes acesso de leitura ao repositório e está feito!

Compilar e publicar pacotes do GitHub

O GitHub Actions é outro recurso do GitHub que permite automatizar seus fluxos de trabalho de software. Pode compilar, testar e implementar o seu código diretamente do GitHub.

Gorjeta

Se você quiser saber mais sobre as Ações do GitHub, confira o módulo Criar fluxos de trabalho de integração contínua (CI) usando o módulo Aprender Ações do GitHub.

Ao combinar o GitHub Actions e o GitHub Packages, pode criar um fluxo de trabalho que irá compilar e testar o seu código e, em seguida, publicá-lo no GitHub Packages ao enviar o código para o repositório.

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