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 é um serviço de hospedagem de pacotes de software que permite que você hospede os seus pacotes de software de forma privada ou pública e que você use os pacotes como dependências nos seus projetos.

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


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 os "produtos do GitHub".

Neste artigo

Did this doc help you?

Sobre o GitHub Package Registry

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

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 GitHub Container Registry."

Note: GitHub Container Registry is currently in public beta and subject to change. Currently, GitHub Container Registry only supports Docker image formats. During the beta, storage and bandwidth is free. Para obter mais informações, consulte "Sobre GitHub Container Registry."

Visualizar pacotes

You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "package webhook event."

About package permissions and visibility

Package registriesGitHub Container Registry
Hosting locationsYou can host multiple packages in one repository.You can host multiple container images in one organization or user account.
PermissionsVocê pode publicar pacotes em um repositório público (pacotes públicos) para compartilhar com todos os GitHub, ou em um repositório privado (pacotes privados) para compartilhar com os colaboradores ou uma organização. 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.For each container image, you can choose the access level that others have. The permissions for container image access are separate from your organization and repository permissions.
VisibilityVocê pode publicar pacotes em um repositório público (pacotes públicos) para compartilhar com todos os GitHub, ou em um repositório privado (pacotes privados) para compartilhar com os colaboradores ou uma organização.You can set the visibility of each of your container images. A private container image is only visible to people and teams who are given access within your organization. A public container image is visible to anyone.

For more information about permissions and visibility for GitHub Container Registry, see "Configuring access control and visibility for containers."

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. Por padrão, a sua conta terá um limite de gastos de $0, que impede o uso adicional de armazenamento ou transferência de dados após atingir o valor incluído. Se você aumentar seu limite de gastos acima do padrão de $0, você será cobrado por qualquer armazenamento adicional ou transferência de dados, também chamado de excedentes, até seu limite de gastos. Quaisquer cupons em sua conta não se aplicam a excedentes de GitHub Package Registry. Para obter mais informações, consulte "Sobre a cobrança do GitHub Package Registry".

Billing update for container image storage: During the beta phase of GitHub Container Registry, Docker image storage and bandwidth are free for the old docker.pkg.github.com and new ghcr.io hosting services. Para obter mais informações, consulte "Sobre GitHub Container Registry."

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.

Support for GitHub Container Registry

The GitHub Container Registry hosts containers at ghcr.io/OWNER/IMAGE-NAME.

Cliente do pacoteLinguagemFormato do pacoteDescrição
arquivo DockerN/Aarquivo DockerPlataforma de gerenciamento de contêiner Docker

For more information about the container support offered by GitHub Container Registry, see "About GitHub Container Registry."

Support for package registries

Package registries use PACKAGE-TYPE.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME as the package host URL, replacing PACKAGE-TYPE with the Package namespace. For example, your Gemfile will be hosted at rubygem.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME.

LinguagemDescriçãoFormato do pacoteCliente do pacotePackage namespace
JavaScriptGerenciador de pacotes de nópackage.jsonnpmnpm.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME
RubyGerenciador de pacotes de RubyGemsGemfilegemrubygems.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME
JavaFerramenta de gerenciamento de projetos e compreensão do Apache Mavenpom.xmlmvnmaven.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME
JavaFerramenta de automação do build Gradle para Javabuild.gradle ou build.gradle.ktsgradlemaven.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME
.NETGerenciamento de pacotes NuGet para .NETnupkgdotnet CLInuget.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`

Para obter mais informações sobre como configurar o seu cliente de pacote para ser usado com GitHub Package Registry, consulte "Usando o GitHub Package Registry com o ecossistema do seu projeto."

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.

To authenticate using a GitHub Actions workflow:

  • For package registries (PACKAGE-REGISTRY.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME), you can use a GITHUB_TOKEN.
  • For the container registry (ghcr.io/OWNER/IMAGE-NAME), you must use a personal access token.

About tokens

EscopoDescrição
read:packagesDownload and install container images from GitHub Container Registry
write:packagesUpload and publish container images to GitHub Container Registry
delete:packagesDelete specified versions of private or public container images from GitHub Container Registry. For more information, see "Deleting a container image."

To learn about available scopes and permissions for container images, see "About GitHub Container Registry" or "Configuring access control and visibility for container images."

Para obter mais informações, consulte "Criar um token de acesso pessoal" e "Escopos disponíveis".

About scopes and permissions for package registries

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. Se o repositório for privado, seu token também deve ter o escopo repo.
  • Para excluir uma versão especificada de um pacote privado no GitHub, seu token deve ter o escopo delete:packages e repo. Não é possível excluir pacotes públicos. Para obter mais informações, consulte "Excluir um pacote".
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:packagesExcluir versões especificadas de pacotes privados de GitHub Package Registryadministrador
repoInstalar, fazer upload e excluir certos pacotes em repositórios privados (junto com read:packages, write:packages, ou delete:packages)leitura, gravação ou administrador

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 uma versão de um pacote privado no GitHub ou usar a API do GraphQL. 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. Para obter mais informações, consulte "Excluir um pacote" e "Formando chamadas com 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 comentários ou solicitações 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

Did this doc help you?