Sobre o GitHub Packages
GitHub Packages é uma plataforma para hospedar e gerenciar pacotes, incluindo contêineres e outras dependências. GitHub Packages combina seu código-fonte e pacotes em um só lugar para fornecer gerenciamento integrado de permissões e faturamento, para que você possa centralizar o desenvolvimento do seu software em GitHub Enterprise Cloud.
Você pode integrar GitHub Packages às APIs de GitHub, GitHub Actions e webhooks para criar um fluxo de trabalho de ponta a ponta que inclui seu código, CI e soluções de implantação.
GitHub Packages oferece registros de pacotes diferentes para gerentes de pacotes comumente usados, como npm, RubyGems, Apache Maven, Gradle, Docker e NuGet. O Container registry do GitHub é otimizado para contêineres e dá suporte a imagens OCI e do Docker. Para obter mais informações sobre os diferentes registros de pacotes aos quais o GitHub Packages dá suporte, confira "Trabalhar com um registro do GitHub Packages".
Você pode visualizar o LEIAME de um pacote, bem como os metadados como licenciamento, estatísticas de download, histórico de versão e muito mais em GitHub Enterprise Cloud. Para obter mais informações, confira "Visualizar pacotes".
Visão geral das permissões do pacote
As permissões de um pacote são herdadas do repositório no qual o pacote está hospedado ou podem ser definidas para usuários ou organizações específicas. Alguns registros só dão suporte a permissões herdadas de um repositório. Para obter uma lista desses registros, confira "Sobre permissões para o GitHub Packages". Para obter mais informações sobre o acesso ao pacote, confira "Configurando o controle de acesso e visibilidade de um pacote".
Visão geral de visibilidade do pacote
Você pode publicar pacotes em um repositório público (pacotes públicos) para compartilhá-los com todo o GitHub ou em um repositório privado (pacotes privados) para compartilhá-los com os colaboradores ou uma organização.
Sobre a cobrança do GitHub Packages
O uso de GitHub Packages é gratuito para pacotes públicos. Para pacotes privados, cada conta do GitHub recebe determinada quantidade de armazenamento gratuito e transferência de dados, dependendo do plano da conta. Qualquer uso além dos valores incluídos é controlado pelos limites de gastos. Se você for um cliente que paga mensalmente, a sua conta terá um limite de gastos padrão de 0 USD (dólares dos EUA), que impede o uso adicional de armazenamento ou transferência de dados após alcançar o valor incluído. Se você pagar sua conta por fatura, sua conta terá um limite de gastos padrão ilimitado. Para obter mais informações, confira "Sobre a cobrança de pacotes do GitHub".
Clientes e formatos compatíveis
O GitHub Packages 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
Linguagem | Descrição | Formato do pacote | Cliente de pacote |
---|---|---|---|
JavaScript | Gerenciador de pacotes de nó | package.json | npm |
Ruby | Gerenciador de pacotes de RubyGems | Gemfile | gem |
Java | Ferramenta de gerenciamento de projetos e compreensão do Apache Maven | pom.xml | mvn |
Java | Ferramenta de automação do build Gradle para Java | build.gradle ou build.gradle.kts | gradle |
.NET | Gerenciamento de pacotes NuGet para .NET | nupkg | dotnet CLI |
N/D | Gerenciamento do contêiner do Docker | Dockerfile | Docker |
Note
Os registros do Apache Maven e do Gradle não estão disponíveis para o GitHub Enterprise Cloud com residência de dados.
Para obter mais informações sobre como configurar o cliente de pacote para uso com o GitHub Packages, confira "Trabalhar com um registro do GitHub Packages".
Para obter mais informações sobre o Docker e o Container registry, confira "Trabalhando com o registro do Contêiner".
Autenticar-se no GitHub Packages
O GitHub Packages dá suporte apenas à autenticação que usa um personal access token (classic). Para obter mais informações, confira "Gerenciar seus tokens de acesso pessoal".
Você precisa de um token de acesso para publicar, instalar e excluir pacotes privados, públicos e internos.
Você pode usar um personal access token (classic) para se autenticar no GitHub Packages ou na API do GitHub. Ao criar um personal access token (classic), você pode atribuir diferentes escopos de token, dependendo da sua necessidade. Para obter mais informações sobre escopos relacionados a pacotes para personal access token (classic), confira "Sobre permissões para o GitHub Packages".
Para efetuar a autenticação em um registro do GitHub Packages dentro de um fluxo de trabalho de GitHub Actions, você pode utilizar:
GITHUB_TOKEN
para publicar pacotes associados ao repositório do fluxo de trabalho.- um personal access token (classic) com pelo menos escopo
read:packages
para instalar pacotes associados a outros repositórios privados (que não podem ser acessados porGITHUB_TOKEN
).
Para obter mais informações sobre o GITHUB_TOKEN
usado em fluxos de trabalho do GitHub Actions, confira "Autenticação automática de token".
Como gerenciar pacotes
É possível excluir um pacote na interface do usuário do GitHub Enterprise Cloud ou usar a API REST. Para obter mais informações, confira "Excluir e restaurar um pacote" e "Pontos de extremidade de API REST para pacotes". Para certos registros, você pode usar GraphQL para excluir uma versão de um pacote privado.
Você não pode usar a API do GraphQL GitHub Packages com registros que dão suporte a permissões granulares. Para os registros que dão suporte apenas a permissões no escopo do repositório e podem ser usados com a API do GraphQL, confira "Sobre permissões para o GitHub Packages".
Ao usar a API do GraphQL para consultar e excluir pacotes privados, você deverá usar o mesmo personal access token (classic) usado para autenticar o GitHub Packages.
Para obter mais informações, confira "Realizar chamadas com o GraphQL".
Você pode configurar webhooks para assinar eventos relacionados aos pacotes, como quando um pacote é publicado ou atualizado. Para obter mais informações, confira "Eventos e cargas de webhook".
Entrar em contato com o suporte
ISe você tiver comentários ou solicitações de recursos para o GitHub Packages, use um discussão da GitHub Community.
Entre em contato conosco por meio do Portal de Suporte do GitHub sobre o GitHub Packages 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