Produtos do GitHub
Aqui estão descritos os produtos como contas, assinaturas e serviços do GitHub:
Tipos de contas do GitHub:
- Pessoal
- Organização
- Enterprise/Corporativas
Contas Pessoais
Todos os usuários do github.com se conectam através de uma conta pessoal. Cada pessoa tem um nome de usuário e um perfil.
Ações como criar um repositório, criar uma issue, criar um PR são associados à conta pessoal daquela pessoa.
Uma conta pode estar utilizando o GitHub Free ou o GitHub Pro, mas independente disso, todas as contas podem ter um número infinito de repositórios público e privados e de colaboradores neles, porém com o GitHub Free, os repositórios privados tem um conjunto limitado de recursos.
Contas Organizacionais
São contas que são compartilhadas entre algumas pessoas que representa uma organização. As permissões com as contas da organização são feitas em uma abordagem em camadas.
Essas contas podem ter repositórios, projetos e etc, semelhante às contas pessoais.
Não é possivel entrar em uma organização. Para fazer parte de uma organização, cada pessoa coloca em sua conta pesosoal que trabalha naquela organização e todas as açoes que a pessoa faz em um repositorio ou projeto são como se fosse uma prova de que a pessoa faz parte daquela organização. Uma pessoa pode ser membro de diversas organizações.
As contas pesosoais dentro de uma organização podem receber diferentes funções par adar diferentes niveis de acesso e permissões dentro da organização. Todo mundo pode colaborar entre si nos projetos, mas somente os proprietarios da organização e as pessoas atribuidas podem gerenciar as configurações da organização e controlar o acesso dos dados e das permissões.
Contas Enterprise/Corporativas
Essas contas permitem que os administradores gerenciem as politicas e a cobrança das suas organizações. Um conta corporativa deve ter algo para identificar ela, como uma organização atribuida a ela ou uma conta comum.
É como se fosse uma conta para a empresa, pois é uma conta compartilhada entre os membros. Geralmente é compartilhada para que os membros colocaborem em varios projetos de uma vez so.
A conta corporativa permite que a pessoa gerencie e aplique policas para todas as organizações pertencentes a empresa. É como se o Google fosse a conta corporativa e o Youtube fosse a conta da organização.
Planos
O GitHub possui os seguintes planos:
- GitHub Free (pessoal e organização)
- GitHub Pro (pessoal)
- GitHub Teams
- GitHub Enterprise
Free
O GitHub Free é o plano padrão para todos os que criam uma nova conta. Ele te da um nome de usuário e uma conta com email, senha e etc. Possui repositorios publico e privados ilimitados e colcaboradores ilimitados.
Está incluido:
- Suporte da comunidade do GitHub (forums, discussões)
- Alertas do DependaBot (um bot que escaneia codigo e que serve para gerenciar e atualizar as dependências do projeto automaticamente)
- Autenticação de dois fatores
- 500 MB de armazenamento do GitHub Packages
- 120 horas para usar o GitHub Codespaces por mês (Codespaces é como se fosse o vscode na web integrado diretamente com sua conta GitHub)
- 15 GB de armazenamento do Codespaces por mês
- GitHub Actions (bot de automação)
- 2 mil minutos por mês
- Regras de proteção contra cópia/implantação para repositórios públicos
Free para Organizações
O plano Free para organizações além de incluir os beneficios do plano pessoal, também inclui:
- Controles de acesso da equipe para gerenciamento de grupos
Pro
O Pro tem tudo o que tem no Free mas vem com mais recursos e aprimorações. A ideia dese plano é projetada para devs indivisuais que desejam ferramentas avançadas em seus repositorios mas que não pertencem a uma equipe ou organzação/empresa.
O plano Pro inclui o Free e:
- Suporte do GitHub por email
- 3 mil minutos do GitHub Actions por mês
- 2 GB de armazenamento do GitHub Packages
- 180 horas para usar o GitHub Codespaces por mês
- 20 GB de armazenamento do Codespaces por mês
- Mais ferramentas e recursos nos repositórios privados:
- Revisores obrigatórios
- Proteção de branch avançada
- Mais opções no GitHub Pages e Wiki
- Gráficos e informações do repositório para análise
Teams
Esse plano foi feito para organizações que precisam de recursos a mais para colaboração, segurança e gerenciamento do fluxo de trabalho que está além do que é oferecido no plano Free para organizações. É bem parecido com o plano Pro mas com o foco em equipes e possui mais recursos de colaboração.
Inclui:
- Suporte do GitHub por email
- 3 mil minutos do GitHub Actions por mês
- 2 GB de armazenamento do GitHub Packages
- Mais ferramentas em repositórios privados:
- Revisores de solicitações de PR obrigatórios
- PR rascunho (draft)
- Revisores de PR da equipe
- Proteção de branch avançada
- Agendamento de lembrete para a equipe
- Mais opções no GitHub Pages e Wiki
- Grafos sobre o repositório para análise
- Capacidade de habilitar ou desabilitar o Codespaces para desenvolvimento em nuvem.
Enterprise
Ao se inscrever no Enterpise, você cria uma conta corporativa e agora você é o proprietário da empresa. Com isso, você pode gerenciar varias organizações que estão dentro da sua empresa.
Além de tudo que é incluido no plano Team, também é incluido:
- Suporte corporativo 24h e 7 dias por semana dedicado do GitHub
- Logon único SAML (Security Assertion Markup Language)
- Recursos expandidos de segurança
- Autenticação e gerenciamento de usuario por meio de outros provedores externos.
- Regras de proteção de implantação para repositórios privados ou internos
- GitHub Conect, que permite o compartilhamento seguro de dados entre o GitHub Enterprise Server e o GitHub Enterprise Cloud
- Opção para adiquirir o serviço da Segurança Avançada do GitHub (GitHub Advanced Security) para a proteção do codigo.
Versões
O plano Enterpise possui duas opções:
- GitHub Enterprise Server (GHES)
- GitHub Enterprise Cloud (GHEC)
O GitHub Enterprise Server (GHES) é uma solução auto-hospedada que permite que as organizações tenham o controle total sobre a sua infraestrutura.
Já o plano Cloud possui um aumento na queantidade de minutos do GitHub Actions e no armazenamento de pacotes do GitHub.
Recursos adicionais do plano Cloud:
- 50 mil minutos do GitHub Actions por mês
- 50 GB de armazenamento do GitHub Packages
- Um contrato de nível de serviço de atividade mensal de 99,9%
- Opção para gerenciar de forma centralizada a política e a cobrança para várias organizações da sua empresa
- Opção para gerenciar e monitorar as contas dos desenvolvedores da empresa
- O EMU (Usuários Gerenciados da Empresa) permite que as organizações controlem identeidades e gerenciem o acesso e a segurança daquele usuarios e da empresa
OBS.:O Copilot não está incuido em nenhum plano por padrão e é necessário adicionar por fora.
Formas de Acessar o GitHub
Além de acessar pelo site, também existem outras formas de acessar o GitHub, que são pelo celular e pelo desktop.
GitHub Mobile
É o app que está disponível tanto para IOS quanto para Android.
Nele você pode:
- Gerenciar as notificações
- Ler, analisar e colaborar nos pull requests
- Editar arquivos nas solicitações de pull
- Pesquisar, navegar e interagir com usuários, repositórios, etc
- Receber notificações
- Agendar notificações
- Proteger sua conta com a autenticação de dois fatores
- Tarefas rápidas e lever quando estiver sem computador
GitHub Desktop
É um aplicativo que ajuda a simplificar o fluxo de trabalho do Git e está disponível para Windows e macOS.
Você pode:
- Adicionar repositórios para gerenciar projetos localmente para melhor organização
- Clonar repositórios do GitHub rapidamente
- Adicionar alterações no seu commit
- Examinar pull requests
- Comparar os commits de forma visual
Cobranças e pagamentos
A cobrança de baseia no tipo da conta (pessoal, organização, etc). Contas pessoas e a maiorias das organizações rebem cobranças separadas, enquanto que contas enterprise recebem a combrança em várias organizações (não centralizado).
As cobranças podem ser:
- Assinaturas: Plano na sua conta e custos mensais fixos de outros serviços do GitHub, como o Copitlot e apps do Marketplace.
- Cobranças baseadas em uso: Custo quando aumenta o uso de algum produto. Ex: quando passa do limite do GitHub Actions ou do GitHub Packages (Pacotes)
OBS.:Nas configurações, podem ser colocados limites de usos, para não ser cobrado depois.
Preços do GitHub Actions
Os preços são definidos com base na visibilidade do repositório e no tipo de conta.
Para repositorios publicos, o uso é ilimitado.
Para repo privados, caso a pesosa atinja o limite permitido pelo plano atual, será calculador um valor para ser pago. Por isso é importante monitoriar o uso para não passar do limite.
OBS.:CI/CD significa Continuous Integration and Continuous Deployment ou Integração Contínua e
Implantação/entrega contínua e é um conjunto de práticas projetadas para melhorar o processo de
desenvolvimento por meio e automatização de processos. O GitHub Actions faz justamente isso.
Mais informações: O que é
CI/CD?
Tipos de cobranças
Existem três tipos de cobrança:
- Cobrança mensal: Cobranças que são feitas a cada mês.
- Cobranças proporcionais: Se um usuário de uma organização consumir uma licença durante o mês, a organização será cobrada proporcionalmente pelo uso daquele usuário. O valor se reajusta com base no uso daquele usuário. Ex: plano do GitHub Teams + GitHub Copilot do dev Fulano.
- Ajustes dinâmicos: Se um usuário parar de consimir uma licença durante o mês, a cobrança do mês seguinte refletirá essa alteração, fazendo com que a organização apenas pague pelos usuários ativos.
Ferramentas para auxiliar nas finanças
O GitHub também oferece ferramentas para gerenciar os seus pagamentos:
- Controle de gastos: Os admins podem definir limites de gastos para os serviços, como o Actions e o Packages.
- Informações detalhas sobre o uso: Visibilidade detalhada sobre o uso do produto usado no momento
- Relatórios automatizados: Recursos para a automação de relatórios financeiros
OBS.: O uso do GitHub Codespaces gera cobranças extras com base no tempo de armazenamento e computação
OBS2.: Os admins podem receber alertas ao se aproximarem dos limtes dos serviços através do próprio site e por email.
Uso de licença
Como um administrador do GitHub Enterprise, é muito importante acomanhar o uso da licença para poder gerenciar custos e otimizar recursos.
Essa parte mostra como acompanhar e gerenciar o uso de licenças do GitHub Enterprise entre orgaizações, contas corporativas e servidores.
OBS.: Nos planos pré-pagos (baseados em assinatura) tem um número definido de licenças disponíveis, porém, por padrão, os novos clientes do Enterprise usam o plano pay-as-you-go (PAYG) que não mostra essa parte de licenças disponíveis e você é cobrado a cada mês de acordo com os serviços que você está usando.
Passo a passo para localizar e gerenciar as licenças:
Método 1: localizar o uso de licença para uma organização específica
Usando o Console de Administração do GitHub Enterprise Cloud:
- Total de assentos distribuídos
- Assentos ativos em uso
- Convites pendentes
- Licenças disponíveis (mostradas apenas para contas pré-pagas)
- Navegue até o Painel de Administração de Nuvem do GitHub Enterprise Cloud.
- Vá para Configurações > Cobrança e Planos.
- Localize a seção de uso de licença para ver os detalhes.
- Veja detalhes como:
Alternativa de linha de comando (API do GraphQL):
{
organization(login: "ORG_NAME") {
billingInfo {
totalSeats
seatsUsed
seatsPending
seatsAvailable
}
}
}
Método 2: localizar o uso de licença em várias organizações
Usando a página de cobrança da conta corporativa
- Navegue até as configurações do GitHub Enterprise Cloud > Enterprise
- Acesse o uso da licença de cobrança
- Examine o uso de lença para cada organização na conta corporativa
Consulta da API do GraphQL para todas as organizações
{
enterprise(slug: "enterprise_name") {
organizations(first: 50){
nodes{
name
billingInfo{
totalSeats
seatsUsed
seatsPending
seatsAvailable
}
}
}
}
}
Método 3: localizar o uso de licenças para contas corporativas
Usando o painel do GitHub Enterprise Server
- Faça logon no console de Administração do GitHub Enterprise Server.
- Vá para configurações > Uso da licença
- Analise:
- Total de licenças alocadas
- Usuários ativos
- estações disponíveis
- Tendências de uso para licenças históricas
Alternativa à API REST
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com /enterprises/YOUR-ENTERPRISE/license"
Método 4: localizar o uso da licença em várias instâncias do GitHub
Usando a API de Métricas do GitHub Enterprise Server
- Total de licenças em toda a empresa
- Uso por instância do GitHub
- Capacidade disponível por região
- Acesse as configurações de administrador do GitHub Enterprise Server
- Use a API de Métricas:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com /enterprise/settings/licenses"
- Analise:
Boas práticas de gerenciamento
- Automatizar o processo (usar consulta de API REST ou GraphQL)
- Verificar usuários inativos e libar as licenças não utilizadas
- Habilitar cobrança baseada em uso, para cobrar pelo que realmente você está usando, evitando gastos a mais
- Realizar revisões com frequencia para controlar os custos
Uso de licença em dispositivos e periféricos
Contas de computador são contas do GitHub que servem para automação, execução de scripts ou integração com outras máquinas de terceiros. Eles autam independentemente dos usuários humanos, porém, cada conta de computador consome uma licença do GitHub, como se fosse uma pessoa.
Exemplos de serviços que usam: GitHub Actions, Jenkins, ferramnetas de CI/CD, etc.
Serviços periféricos são integrações externas que interagem com o GitHub por meio de solitações de API.
Exemplos: Pipelines de CI/CD (Github Actions, etc), ferramentas de verificação de segurança, integraçõs de terceiros, etc.
É importante acompanhar tudo isso para:
- Identificar licenças não utilizadas ou que estão sendo usadas de mais
- Otimizar custos
- Monitorar riscos de segurança de contas de automação inativas ou que foram configuradas de forma incorreta
Como localizar as estatísticas para o uso de licença para contas do computador:
Método 1: Console de administrador do GitHub Enterprise
- Número de contas de computador ativas
- Consumo de licença por conta de computador
- Última data ativa
- Navegue até as configurações da empresa
- Selecione Cobrança e Gerenciamento de Licenças
- Procure uma seção Contas do Computador (se disponível)
- Identifique:
Método 2: Consulta da API do GraphQL para contas do computador
Para recuperar as estatísticas de uso da conta de computador, use a API do GraphQL:
{
enterprise(slug: "enterprise_name") {
organizations(first: 50){
nodes {
name
machineAccounts{
totalCount
nodes{
login
createdAt
lastActiveAt
}
}
}
}
}
}
Por que acompanhar isso?
- Para identificar contas inativas
- Para acompanhar quando cada conta do computador estava ativa pela última vez
- Para ajudar a evitar a alocação desnecessária de licenças
Como localizar o uso de licença para os serviços periféricos:
Método 1: Métricas de Uso do GitHub Actions e Runners
- Total de minutos de executos hospedados no GitHub usados
- Uso de runner auto-hospedado
- Cobrança por minutos de runner adicionais
- Vá para as configurações da empresa > ações
- Veja:
Método 2: API REST para Self Hosted Runners
Para rastrear o uso de runners auto-hospedados e seu uso de licença, utilize a API REST do GitHub:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com /enterprise/YOUR-ENTERPRISE/actions/runners"
Isso mostra:
- Identifica quantos runners estão consumindo licenças
- Acompanha runners ociosos que podem estar desperdiçando recursos
- Ajuda a otimizar a cobrança por minutos de runner hospedados no GitHub
Método 3: Acompanhamento de uso da API de Serviços periféricos
Monitorar integrações baseadas em API usando:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com /enterprise/YOUR-ENTERPRISE/audit-log"
Isso ajuda a:
- Detectar Serviços inativos: localize os serviços que não estão mais em uso
- Auditar ferramentas de terceiros: verifique se as ferramentas externas são necessárias e configuradas corretamente
- Reduzir custos: desabilitar serviços que não estão fornecendo valor
Boas práticas para gerenciamento:
- Identificar e desativar contas que não estão sendo mais utilizadas
- É importante apgar pois podem exister contas que ainda podem ter acesso a repositórios e sistemas e comm isso, essas contas podem ser exploradas e comprometidas, correndo um risco de segurança
- Monitorar o uso da API
- Muitos apps de terceiros consomem recursos de API do GitHUb e consequentemente as licenças
- Muitas chamadas de API podem levar a cobrança
- O uso não autorizado ou desconhecido pode correr riscos de segurança
- Identificar executores ociosos e reduzir os custos do executor hospedado no GitHub
- Os executores hospedados no GitHub operam de forma paga conforme o uso e é importante monitorar para evitar gastos desnecessários.
- Restringir contas de computador e impor politicas de segurança
- Essas contas possuem acesso ao codigo fonte, por isso, é importante rever as contas não utilizadas e gerenciar o acesso.
Relatórios de Uso
Como gerenciar os minutos utilizados do GitHub Actions
O Actions é uma ferramenta de automação de CI/CD que são executados em máquinas virtuais. Os minutos consumidos são medidos com base no tipo de repositorio, tipo de executor (maquina) e no uso.
Acompanhamento do consumo
- Navegue até Configurações > Cobrança em sua organização ou conta pessoal no GitHub.
- Na seção GitHub Actions, visualize o uso dos minutos.
- O uso é divido por repositório, tipo de executor (Linux, Windows, macOS) e por cota restante.
Boas práticas de otimização:
- Usar automações/corretores auto-hospedaodos para fluxos de trabalho com grande volume (faça seu proprio)
- Otimizar scripts armazenando em cache sempre que possivel
- Limitar os fluxos para acionar somente quando for necessário. Ex: Verificar somente quando foi
enviada alguma alteração para a branch
main.
Como gerenciar o armazenamento do GitHub Packages
O GitHub Packages permite armazenar contêiners e dependencias. O armazenamento é medido com base no volume de dados armazenados e no uso de transferência de dados.
Acompanhamento do consumo
- Navegue até Configurações > Cobrança > GitHub Packages para exibir o uso do armazenamento.
- A divisão inclui armazenamento (GB) e transferência de dados (gb) usados por repositório.
Sobre preços do GitHub Packages, consulte a página oficial de preços do GitHub.
Boas práticas de otimização:
- Excluir pacotes não utilizados para liberar espaço de armazenamento.
- Monitorar regularmente o uso para evitar custos inesperados.
- Armazenar arquivos/screenshots acessados com frequência em um registro centralizado para evitar a duplicação
- Utilizar formatos compactados para reduzir o espaço de armazenamento necessário.
Como acompanhar o consumo das licenças do GitHub Enterprise
Acompanhamento do consumo
- Vá em Configurações corporativas > Cobrança para exibir relatórios de uso de licenças do GitHub
Enterprise.
- Monitore usuários ativos vs licenças alocadas
Detalhes de cobrança:
- Modelo de preços:
- Cada usuário com acesso a repositórios privados consome uma licença
- As organizações pagam por usuário anualmente ou mensalmente
- Usuários inativos:
- Se um administrador remover um usuário, a licença permanecerá atribuída para o período de cobrança, mas poderá ser realocada.
Boas práticas de otimização:
- Revisar periodicamente o uso de licenças para garantir que apenas usuários ativos estejam alocados.
- Usar o provedor SSO e SCIM para automatizar o gerenciamento de usuários e licenças.
Como acompanhar as licenças de GHAS (GitHub Advanced Security):
O GHAS oferece verificação de código e funções semelhantes para garantir a segurança.
Acompanhamento do consumo
- Um commiter ativo é qualquer pessoa que tenha enviado por push pelo menos uma confirmação para um repositório com o GHAS habilitado nos últimos 90 dias, independentemente de quando a confirmação foi originalmente criada.
- A cobrança do GHAS baseia-se no número de confirmadores ativos exclusivos por período de cobrança
- Para exibir o uso do GHAS no github.com, selecione Empresas na navegação lateral,
selecione sua empresa na lista e navegue até Cobrança > Segurança Avançada.
Detalhes de cobrança:
- Modelo de preço:
- Cobrado por Confirmador exclusivo por mês
- Se um confirmador contribuir para vários repositórios, eles só contarão apenas uma vez
- Plano gratuito: Não disponível (disponível somente para repositórios públicos)
Boas práticas de otimização:
- Restringir o GHAS para repositórios que realmente precisam de segurança avançada
- Proteger branches para limitar verificações desnecessárias
Como acompanhar o consumo do GitHub Copilot
O Copilot é uma IA que sugere código e é cobrada por usuário.
Acompanhamento do consumo
- Os administradores podem visualizar o uso do Copilot na seção de cobrança da organização.
- O relatório mostra usuários ativos e estimativas mensais de cobrança.
Detalhes de cobrança:
- Modelo de acesso:
- Disponível para indivíduos e empresas com diferentes opções de assinatura
- Acesso gratuito:
- Gratuito para alunos e mantenedores de open source verificados
- Gratuito para clientes empresariais selecionados (baseado em avaliação)
Para conferir os preços do GitHub Copilot, visite a página oficial de preços do GitHub.
Boas práticas:
- Examinar e desativar o Copilot para os usuários que não precisam dele
- Incentivar os devs a desabilitar em projetos em que o código gerado por IA é desnecessário
Como conferir o armazenamento do GitHub LFS (Large File Storage)
O LFS é usado para armazenar arquivos binários grandes separadamente dos repositórios Git.
Acompanhamento do consumo
- O uso do LFS é exibido na seção de cobrança.
- O relatório inclui o armazenamento (GB) e o uso de largura de banda (gb).
Detalhes da cobrança:
- Camada gratuita
- 1 GB de armazenamento e 1 GB de largura de banda por mês
Veja a documentação do LFS para mais informações.
Boas práticas:
- Usar serviços de armazenamento externo para arquivos grandes (AWS, Azure, etc)
- Excluir arquivos grandes não utilizados
- Limpar / fazer um poda de arquivos antigos ou não referenciados do cache local