Skip to main content

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

É possível criar executores dedicados para o sua instância do GitHub Enterprise Server 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 sua instância do GitHub Enterprise Server a criar e manter o código seguro configurando as atualizações de segurança e de 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 saber mais, confira Habilitando o Dependabot para sua empresa.

Para usar o Dependabot updates no sua instância do GitHub Enterprise Server, 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 sua instância do GitHub Enterprise Server para usar o GitHub Actions com executores auto-hospedados. Para saber mais, confira Habilitando o Dependabot para sua empresa.

Configurar executores auto-hospedados para Dependabot updates

Requisitos do sistema para executores de Dependabot

Qualquer máquina virtual (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}
  ]
}

Observação

As redes privadas são compatíveis com uma VNet (Rede Virtual) do Azure ou com o ARC (Actions Runner Controller) para o Dependabot no GitHub Actions. Confira Configurando o Dependabot para execução em executores de ação auto-hospedados usando o Actions Runner Controller e Como configurar o Dependabot para ser executado em executores de ação hospedados pelo GitHub usando a Rede Privada do Azure.

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 do Dependabot updates. 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.

Configuração de certificado para executores de Dependabot

Se sua instância do GitHub Enterprise Server usar um certificado autoassinado, ou se o Dependabot precisar interagir com repositórios que utilizam certificados autoassinados, esses certificados também deverão ser instalados nos executores auto-hospedados que executam os trabalhos do Dependabot. Essa segurança fortalece a conexão. Você também deve configurar o Node.js para usar o certificado, pois a maioria das ações são escritas em JavaScript e são executadas usando Node.js, que não usa o repositório de certificados do sistema operacional.

Adicionar 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 saber mais, confira Executores auto-hospedados e 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, você faz o seguinte:

  3. Atribua um rótulo dependabot a cada executor que deseja que o Dependabot use. Para saber mais, confira Usar rótulos com os 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 saber mais, confira Solução de problemas de GitHub Actions para sua empresa.