Skip to main content

Gerenciando executores auto-hospedados para atualizações de Dependabot na sua empresa

É possível criar executores dedicados para o your GitHub Enterprise Server instance que é usado pelo Dependabot para criar solicitações de pull a fim de ajudar a proteger e manter as dependências usadas nos repositórios de sua empresa.

Sobre executores auto-hospedados para Dependabot updates

É possível ajudar os usuários do your GitHub Enterprise Server instance a criar e manter o códigos seguros configurando as atualizações de segurança e versão do Dependabot. Com Dependabot updates, os desenvolvedores podem configurar repositórios para que suas dependências sejam atualizadas e mantidas seguras automaticamente. Para obter mais informações, confira "Como habilitar o Dependabot para sua empresa".

Para usar o Dependabot updates no your GitHub Enterprise Server instance, deve-se configurar executores auto-hospedados a fim de criar as solicitações de pull que atualizarão as dependências.

Pré-requisitos

A configuração de executores auto-hospedados é apenas uma etapa no meio do processo para habilitar Dependabot updates. Há várias etapas a serem seguidas antes dessas, incluindo a configuração do your GitHub Enterprise Server instance para usar o GitHub Actions com executores auto-hospedados. Para obter mais informações, confira "Como habilitar o Dependabot para sua empresa".

Configurando executores auto-hospedados para Dependabot updates

Depois de configurar o your GitHub Enterprise Server instance para usar o GitHub Actions, adicione executores auto-hospedados para Dependabot updates.

Requisitos do sistema para executores de Dependabot

Qualquer VM que você usar para executores de Dependabot deve atender aos requisitos para executores auto-hospedados. Além disso, eles têm de cumprir os seguintes requisitos.

  • Sistema operacional Linux
  • Arquitetura x64
  • Docker instalado com acesso para os usuários do executor:
    • Recomendamos instalar o Docker no modo sem raiz e configurar os executores para acessar o Docker sem privilégios root.
    • Como alternativa, instale o Docker e dê aos usuários do executor privilégios elevados para executar o Docker.

Os requisitos de CPU e memória dependerão do número de executores simultâneos que você implanta em uma determinada VM. Como orientação, criamos de forma bem-sucedida 20 executores em uma única máquina CPU de 8 GB, mas, em última análise, seus requisitos de CPU e memória dependerão fortemente da atualização dos repositórios. Alguns ecossistemas exigirão mais recursos do que outros.

Se você especificar mais de 14 executores simultâneos em uma VM, também precisará atualizar a configuração /etc/docker/daemon.json do Docker para aumentar o número padrão de redes que o Docker pode criar.

{
  "default-address-pools": [
    {"base":"10.10.0.0/16","size":24}
  ]
}

Requisitos da rede para executores de Dependabot

Os executores de Dependabot exigem acesso à internet pública, GitHub.com e a todos os registros internos que serão usados nas atualizações de Dependabot. Para minimizar o risco para sua rede interna, você deve limitar o acesso da Máquina Virtual (VM) à sua rede interna. Isto reduz o potencial de danos nos sistemas internos se um executor fizer o download de uma dependência capturada.

Adicionando executores auto-hospedados para atualizações de Dependabot

  1. Provisionamento de executores auto-hospedados no nível da conta do repositório, organização ou empresa. Para obter mais informações, confira "Sobre os executores auto-hospedados" e "Como adicionar executores auto-hospedados".

  2. Configure os executores auto-hospedados com os requisitos descritos acima. Por exemplo, em uma VM que executa o Ubuntu 20.04:

  3. Atribua um rótulo dependabot a cada executor que deseja que o Dependabot use. Para obter mais informações, confira "Como usar rótulos com executores auto-hospedados".

  4. Opcionalmente, habilite os fluxos de trabalho acionados por Dependabot para usar permissões além das permissões somente leitura e ter acesso a todos os segredos que estão normalmente disponíveis. Para obter mais informações, confira "Solução de problemas do GitHub Actions para sua empresa".