Skip to main content

Automações em sua empresa

Saiba como GitHub Apps, GitHub Actions e serviços externos funcionam juntos para automatizar processos em sua empresa.

A automação no GitHub normalmente envolve vários componentes trabalhando juntos. Os componentes nativos GitHub mais importantes são:

  •         **GitHub Actions workflows**, que fornecem um tempo de execução para a execução da lógica de automação. Fora de caixa, eles funcionam em um único repositório, mas podem ser estendidos para automatizar entre ou até mesmo fora dos repositórios.
    
  •         **GitHub Apps**, que não tem um tempo de execução. Em vez disso, eles fornecem identidade, permissões e entrega de eventos para que suas automações, sejam serviços externos ou fluxos de trabalho, possam se autenticar e agir com segurança.
    

A maioria das automações empresariais usa GitHub Apps e GitHub Actions em conjunto. Por exemplo, um workflow em execução em GitHub Actions pode usar um GitHub App para obter um token de curta duração que lhe permita executar tarefas em vários repositórios ou organizações.

Este guia explica como GitHub Apps, automações externas e GitHub Actions se complementam e quando usar cada um deles em sua empresa.

GitHub Apps

Um GitHub App fornece a identidade, permissões e eventos de webhook necessários para automação em ou entre repositórios, organizações ou sua empresa. GitHub Apps não executam lógica, mas permitem que outros sistemas o façam.

GitHub Apps oferece suporte à automação corporativa por meio de:

  •         **Permissões granulares** para seguir princípios de privilégios mínimos
    
  •         **Instalações delimitadas** no nível da empresa, da organização ou do repositório
    
  •         **Tokens de curta duração** para acesso seguro
    
  •         **Identidades distintas** com auditabilidade completa
    
  •         **Administração delegada** por meio da função de gerente GitHub App
    
  •         **Consistência em escala** quando pertencente à conta corporativa
    

O que GitHub Apps ativa?

GitHub Apps permite que automações gravadas em outros lugares– como serviços externos ou etapas de fluxo de trabalho – atuem nas APIs do GitHub dentro das permissões concedidas. Por exemplo:

  • Recebendo eventos de webhook e disparando serviços externos
  • Habilitando um fluxo de trabalho para atuar fora do escopo do repositório padrão
  • Integrando GitHub com sistemas de terceiros
  • Coordenando alterações em vários repositórios
  • Executando bots ou serviços de longa duração que monitoram atividades em nível empresarial.

Observação

GitHub Apps instalado na empresa não pode chamar todos os pontos de extremidade de API. Confira Como instalar um aplicativo do GitHub em sua empresa.

GitHub Actions

GitHub Actions fornecem o runtime interno do GitHub para executar a lógica de automação dentro de repositórios. Os fluxos de trabalho são executados em servidores hospedados ou auto-hospedados e são ideais para tarefas relacionadas a alterações de código ou eventos de repositório.

Use GitHub Actions para:

  • CI/CD (compilar, testar, implantar)
  • Verificações e validações de solicitação de pull
  • Tarefas de manutenção no nível do repositório
  • Fluxos de trabalho orientados por eventos respondendo a pushes, tags ou atualizações de incidentes
  • Trabalhos agendados com cron

Como GitHub Actions usa GitHub Apps

GitHub Actions e GitHub Apps estão profundamente conectados:

  • As permissões de fluxo de trabalho são mapeadas diretamente para as permissões do GitHub App.
  • Os Workflows podem autenticar-se como GitHub App usando actions/create-github-app-token.
  • GitHub Apps pode disparar fluxos de trabalho por meio de eventos como repository_dispatch.

Automações e serviços externos

As automações externas são executadas fora de GitHub em sua própria infraestrutura. Esses serviços normalmente:

  • Receber eventos de webhook de um GitHub App
  • Use o GitHub App para solicitar tokens temporários de instalação
  • Executar lógica de longa duração ou que abranja toda a empresa
  • Integrar com sistemas de negócios externos

Os exemplos incluem:

  • Gerenciamento de configuração em toda a organização
  • Serviços de imposição de política
  • Sincronização de metadados ou código de vários repositórios
  • Geração de relatório de conformidade
  • Gerenciamento de problemas entre organizações ou de pull requests

Todos eles dependem de GitHub Apps para autenticação, identidade e eventos – não para execução.

Como esses componentes funcionam juntos

A maioria das automações empresariais usa uma combinação de GitHub Apps, serviços externos e GitHub Actions para alcançar fluxos de trabalho robustos e escaláveis.

Por exemplo:

  1. Uma empresa GitHub App recebe um webhook quando um novo repositório é criado e envia o conteúdo do webhook para um servidor em que um serviço externo está em execução.
  2. O serviço externo padroniza as configurações necessárias e provisiona recursos.
  3. O serviço aciona um workflow GitHub Actions no repositório.
  4. O fluxo de trabalho executa Integração Contínua (CI), implanta modelos ou configura o escaneamento.

Cada componente lida com uma camada diferente de automação.

Quando usar cada tipo de automação

Use um GitHub App quando precisar:

  • Autenticação ou permissão para agir em vários repositórios
  • Integração com sistemas externos
  • Automações controladas por webhook
  • Fluxos de trabalho de longa duração ou de toda a empresa
  • Auditoria e separação de identidade

Use automações externas quando precisar:

  • Lógica executada continuamente ou fora de GitHub
  • Integração com sistemas internos

Use GitHub Actions quando precisar:

  • Pipelines de CI/CD
  • Automação com escopo de repositório
  • Verificações automatizadas vinculadas a eventos de repositório
  • Execução de lógica usando a infraestrutura de execução do GitHub

Use GitHub Apps e GitHub Actions em conjunto quando:

  • Um fluxo de trabalho deve agir além das permissões padrão do repositório
  • Um GitHub App precisa acionar um workflow
  • A lógica externa orquestra a execução dentro do repositório
  • Políticas ou fluxos de trabalho corporativos exigem tanto identidade quanto tempo de execução

Próximas etapas

Saiba como projetar e gerenciar GitHub Apps no nível corporativo em Criando aplicativos GitHub para sua empresa.