Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Sobre o GitHub Packages

GitHub Package Registry is a software package hosting service that allows you to host your software packages privately or publicly and use packages as dependencies in your projects.

GitHub Package Registry is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 2.22, GitHub One, and GitHub AE.


O GitHub Package Registry não está disponível para repositórios privados de contas que utilizam planos antigos por-repositório. GitHub Package Registry está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub One. Para obter mais informações, consulte "[produtos de GitHub](/articles/github-s-products)

Neste artigo

Sobre o GitHub Package Registry

GitHub Package Registry is a package hosting service, fully integrated with GitHub. GitHub Package Registry combina seu código-fonte e pacotes em um só lugar para fornecer o gerenciamento integrado de permissões e cobrança, para centralizar o desenvolvimento do software em GitHub.

Você pode integrar GitHub Package Registry com as APIs de GitHub, GitHub Actions e webhooks para criar um fluxo de trabalho de ponta a ponta que inclui as suas soluções de código, CI e implantação.

You can host multiple packages in one repository and see more information about each package by viewing the package's README, download statistics, version history, and more.

Diagrama que mostra o suporte a pacotes do npm, RubyGems, Apache Maven, Gradle, Nuget e Docker

When you create a GitHub Actions workflow, you can use the GITHUB_TOKEN to publish and install packages in GitHub Package Registry without needing to store and manage a personal access token. Para obter mais informações, consulte "Sobre Registro de contêiner do GitHub."

Nota: Registro de contêiner do GitHub está atualmente em versão beta público e sujeito a alterações. Durante o beta, o armazenamento e a banda larga são grátis. Para usar Registro de contêiner do GitHub, você precisa habilitar a pré-visualização de recursos. Para obter mais informações, consulte "Sobre Registro de contêiner do GitHub" e "Habilitar melhor suporte ao contêiner".

Visualizar pacotes

You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. Para obter mais informações, consulte "Visualizar pacotes".

Sobre permissões e visibilidade de pacotes

Registros de pacotes
Locais de hospedagemVocê pode hospedar vários pacotes em um só repositório.
PermissõesYou can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization. You can use GitHub roles and teams to limit who can install or publish each package, as packages inherit the permissions of the repository. Anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.
VisibilidadeYou can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization.

Sobre a cobrança do GitHub Package Registry

O uso de GitHub Package Registry é gratuito para pacotes públicos. Para pacotes privados, cada conta GitHub recebe uma certa quantidade de armazenamento gratuito e transferência de dados, dependendo do produto usado com a conta. Qualquer uso para além dos montantes incluídos é controlado por limites de despesa. Se você for um cliente que paga mensalmente, a sua conta terá um limite de gastos padrão de $ 0, que impede o uso adicional de armazenamento ou transferência de dados após atingir o valor incluído. Se você pagar a sua conta por fatura, sua conta terá um limite de gastos padrão ilimitado. Para obter mais informações, consulte "Sobre a cobrança do GitHub Package Registry".

Atualização de cobrança para armazenamento de imagem contêiner: Durante a fase beta de Registro de contêiner do GitHub, o armazenamento de imagem do Docker e a largura de banda são grátis para os serviços de hospedagem antigo docker. kg.github.com e novo ghcr.io. Para obter mais informações, consulte "Sobre Registro de contêiner do GitHub."

Clientes e formatos compatíveis

O GitHub Package Registry usa os comandos nativos de ferramentas de pacotes com os quais você já está familiarizado para publicar e instalar versões de pacote.

Suporte para registros de pacotes

LinguagemDescriçãoFormato do pacoteCliente do pacote
JavaScriptGerenciador de pacotes de nópackage.jsonnpm
RubyGerenciador de pacotes de RubyGemsGemfilegem
JavaFerramenta de gerenciamento de projetos e compreensão do Apache Mavenpom.xmlmvn
JavaFerramenta de automação do build Gradle para Javabuild.gradle ou build.gradle.ktsgradle
.NETGerenciamento de pacotes NuGet para .NETnupkgdotnet CLI
N/AGerenciamento do contêiner do Dockerarquivo DockerDocker

Para obter mais informações sobre a configuração do cliente do seu pacote para uso com GitHub Package Registry, consulte "Guias do cliente do pacote para GitHub Package Registry".

Para mais informações sobre o Docker e Registro de contêiner do GitHub, consulte "Guias de contêiner para GitHub Package Registry".

Autenticar-se no GitHub Package Registry

Você precisa de um token de acesso para publicar, instalar e excluir pacotes no GitHub Package Registry. Você pode usar um token de acesso pessoal para autenticar com seu nome de usuário diretamente no GitHub Package Registry ou na API GitHub. Ao criar um token de acesso pessoal, você pode atribuir diferentes escopos de token, dependendo da sua necessidade.

Para efetuar a autenticação usando um fluxo de trabalho do GitHub Actions:

  • Para registros de pacotes (PACKAGE-REGISTRY.pkg.github.com), você pode usar um GITHUB_TOKEN.
  • For the container registry (ghcr.io/OWNER/IMAGE-NAME), you can use a GITHUB_TOKEN or a personal access token. We strongly recommend you use a GITHUB_TOKEN to avoid unncessary access to your repositories.

For more information about GITHUB_TOKEN used in GitHub Actions workflows, see "Encrypted secrets" and "Authentication in a workflow."

Sobre escopos e permissões para registros de pacotes

To install or publish a package, you must use a token with the appropriate scope, and your user account must have appropriate permissions for that repository.

Por exemplo:

  • Para fazer o download e instalar pacotes a partir de um repositório, seu token deve ter o escopo read:packages, e sua conta de usuário deve ter permissões de leitura para o repositório.
  • Para excluir um pacote em GitHub, o seu token deve ter pelo menos o escopo delete:packages e read:packages. O escopo de repo também é necessário para pacotes com escopo de repositórios. For more information, see "Deleting and restoring a package."
EscopoDescriçãoPermissões do repositório
read:packagesFaça o download e instale pacotes do GitHub Package Registryleitura
write:packagesFaça o upload e publique os pacotes em GitHub Package Registrygravação
delete:packages
Delete packages from GitHub Package Registry
administrador
repoFaça o upload e exclua os pacotes (junto com write:packages ou delete:packages)gravação ou admin

Ao criar um fluxo de trabalho de GitHub Actions, você pode usar o GITHUB_TOKEN para publicar e instalar pacotes no GitHub Package Registry sem precisar armazenar e gerenciar um token de acesso pessoal.

Para obter mais informações, consulte:

Gerenciar pacotes

Você pode excluir um pacote na interface de usuário de GitHub ou usando a API REST. Para obter mais informações, consulte o "API de GitHub Package Registry".

Ao usar a API do GraphQL para consultar e excluir pacotes privados, você deve usar o mesmo token que você usa para efetuar a autenticação no GitHub Package Registry. For more information, see "Deleting and restoring a package" and "Forming calls with GraphQL."

Você pode configurar webhooks para assinar eventos relacionados aos pacotes, como quando um pacote é publicado ou atualizado. Para obter mais informações, consulte o evento de webhook de "pacote".

Entrar em contato com o suporte

Se você tiver feedback ou pedidos de recursos para GitHub Package Registry, use o formulário de feedback para GitHub Package Registry.

Entre em contato com Suporte do GitHub sobre GitHub Package Registry usando o nosso formulário de contato se:

  • Você encontrar qualquer coisa que contradiga a documentação
  • Você encontra erros vagos ou pouco claros
  • Seu pacote publicado contém dados confidenciais, como violações do RGPD, chaves API ou informações de identificação pessoal

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.