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 está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 2.22, e GitHub One.

Neste artigo

Observação: GitHub Package Registry está atualmente em beta para GitHub Enterprise Server 2.22. Para participar da versão beta da sua instância, use o formulário de inscrição.

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 Enterprise Server.

Você pode integrar GitHub Package Registry com as APIs de GitHub Enterprise Server, 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.

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

Sobre permissões e visibilidade de pacotes

Registros de pacotes
Locais de hospedagemVocê pode hospedar vários pacotes em um só repositório.
PermissõesVocê pode publicar pacotes em um repositório público (pacotes públicos) para compartilhar com {% if currentVersion == "free-pro-team@latest" %}tudo de {% data variables.product.prodname_dotcom %}{% else %}todos na sua instância{% endif %}, 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.
VisibilidadeVocê pode publicar pacotes em um repositório público (pacotes públicos) para compartilhar com todos na sua instância, ou em um repositório privado (pacotes privados) para compartilhar com os colaboradores ou uma organização.

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

Os tipos de pacotes suportados no your GitHub Enterprise Server instance podem variar, uma vez que o administrador do site pode habilitar ou desabilitar o suporte para diferentes tipos de pacotes. Para obter mais informações, consulte "Gerenciar pacotes do GitHub para a sua empresa".

Se your GitHub Enterprise Server instance tiver o isolamento de subdomínio habilitado, os registros dos pacotes usarão PACKAGE-TYPE. OSTNAME/OWNER/REPOSITORY/IMAGE-NAME como a URL hospedada do pacote, substituindo PACKAGE-TYPE pelo espaço de nome do pacote. Por exemplo, o seu arquivo Docker será hospedado em docker.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME.

Se o your GitHub Enterprise Server instance tiver o isolamento de subdomínio desabilitado, os registros do pacote usarão HOSTNAME/_registry/PACKAGE-TYPE/OWNER/REPOSITORY/IMAGE-NAME como URL de host do pacote. Por exemplo, o seu Gemfile será hospedado em HOSTNAME/_registry/rubygems/OWNER/REPOSITORY/IMAGE-NAME, substituindo NOME DE HOST pelo nome do host da sua instância do GitHub Enterprise Server. |

Com o isolamento de subdomínio habilitado em your GitHub Enterprise Server instance:

LinguagemDescriçãoFormato do pacoteCliente do pacoteEspaço de nome do pacote
JavaScriptGerenciador de pacotes de nópackage.jsonnpmnpm.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME
RubyGerenciador de pacotes de RubyGemsGemfilegemrubygems.HOSTNAME/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.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME
N/AGerenciamento do contêiner do Dockerarquivo DockerDockerdocker.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME

Com o isolamento de subdomínio desabilitado em your GitHub Enterprise Server instance:

LinguagemDescriçãoFormato do pacoteCliente do pacoteEspaço de nome do pacote
JavaScriptGerenciador de pacotes de nópackage.jsonnpmHOSTNAME/_registry/npm/OWNER/REPOSITORY/IMAGE-NAME
RubyGerenciador de pacotes de RubyGemsGemfilegemHOSTNAME/_registry/rubygems/OWNER/REPOSITORY/IMAGE-NAME
JavaFerramenta de gerenciamento de projetos e compreensão do Apache Mavenpom.xmlmvnHOSTNAME/_registry/maven/OWNER/REPOSITORY/IMAGE-NAME
JavaFerramenta de automação do build Gradle para Javabuild.gradle ou build.gradle.ktsgradleHOSTNAME/_registry/maven/OWNER/REPOSITORY/IMAGE-NAME
.NETGerenciamento de pacotes NuGet para .NETnupkgdotnet CLIHOSTNAME/_registry/nuget/OWNER/REPOSITORY/IMAGE-NAME

Observação: O Docker não é compatível quando o isolamento de subdomínio está desativado.

Para obter mais informações sobre o isolamento de subdomínio, consulte "Habilitar o isolamento de subdomínio".

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.

Para efetuar a autenticação em GitHub Package Registry usando um fluxo de trabalho de GitHub Actions, você deve usar GITHUB_TOKEN.

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 uma versão especificada de um pacote privado no GitHub Enterprise Server, 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
repoUpload and delete packages (along with write:packages, or delete:packages)write, or 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 uma versão de um pacote privado em GitHub Enterprise Server 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 precisar de suporte para GitHub Package Registry, entre em contato com os administradores do site.

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.