Skip to main content

Gerenciar o Dependabot em executores auto-hospedados

Você pode configurar executores auto-hospedados do GitHub Actions que o Dependabot usa para acessar seus registros privados e recursos de rede interna.

Quem pode usar esse recurso?

Organization owners and repository administrators can configure Dependabot to run on self-hosted runners.

Note

Você deve optar por executar o Dependabot no GitHub Actions. Versões futuras do GitHub removerão a capacidade de aceitar e sempre executar o Dependabot no GitHub Actions. Para obter mais informações, confira "Sobre o Dependabot em executores do GitHub Actions".

Sobre o Dependabot em executores auto-hospedados do GitHub Actions

Você pode ajudar os usuários da sua organização e dos repositórios a criar e manter códigos seguros configurando 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. A execução do Dependabot no GitHub Actions permite um desempenho melhor e maior visibilidade e controle de trabalhos do Dependabot.

Para ter maior controle sobre o acesso do Dependabot aos seus registros privados e recursos de rede interna, você pode configurar o Dependabot para ser executado em executores auto-hospedados do GitHub Actions.

Por motivos de segurança, ao executar o Dependabot em executores auto-hospedados do GitHub Actions, Dependabot updates não serão executadas em repositórios públicos.

Para obter mais informações sobre como configurar o acesso do Dependabot a registros privados ao usar executores hospedados pela GitHub, consulte "Diretrizes para a configuração de registros privados para o Dependabot". Para obter informações sobre quais ecossistemas têm suporte como registros privados, confira "Removendo o acesso do Dependabot a registros públicos".

Pré-requisitos

Você deve ter o Dependabot instalado e habilitado e o GitHub Actions habilitado e em uso. A configuração "Dependabot em executores do GitHub Actions" para sua organização também deve estar habilitada. Para obter mais informações, confira "Sobre o Dependabot em executores do GitHub Actions".

Se o GitHub Actions não estiver habilitado para sua organização ou repositório, a configuração de nível de organização ou repositório para habilitar "Dependabot em executores do GitHub Actions" não ficará visível na interface do usuário da Web.

Sua organização pode ter configurado uma política para restringir a execução de ações e executores auto-hospedados em repositórios específicos, o que, por sua vez, não permitirá que o Dependabot seja executado em executores auto-hospedados do GitHub Actions. Nesse caso, a configuração de nível de organização ou repositório para habilitar "Dependabot em executores auto-hospedados" não ficará visível na interface do usuário da Web. Para obter mais informações, confira "Desabilitar ou limitar o GitHub Actions para sua organização".

Configurar executores auto-hospedados para Dependabot updates

Depois de configurar sua organização ou repositório para executar o Dependabot no GitHub Actions e antes de habilitar o Dependabot em executores auto-hospedados, você precisa 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}
  ]
}

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 o Dependabot precisar interagir com registros que usam certificados autoassinados, esses certificados também deverão ser instalados nos executores auto-hospedados que executam 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. Prover executores auto-hospedados, no nível do repositório ou da organização. Para obter mais informações, confira "Sobre 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 obter mais informações, 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 obter mais informações, confira "Automatizando o Dependabot com GitHub Actions".

Habilitar executores auto-hospedados para Dependabot updates

Depois de configurar executores auto-hospedados para Dependabot updates, você pode habilitar ou desabilitar Dependabot updates em executores auto-hospedados no nível da organização ou repositório.

Observe que desabilitar e habilitar novamente as configurações de "Dependabot em executores auto-hospedados" do GitHub Actions" não acionará uma nova execução do Dependabot.

Habilitar ou desabilitar seu repositório

Você pode gerenciar o Dependabot em executores auto-hospedados para o seu repositório privado.

  1. No GitHub.com, navegue até a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Em "Dependabot", à direita de "Dependabot em executores auto-hospedados", clique em Habilitar para habilitar o recurso ou em Desabilitar para desabilitá-lo.

Habilitar ou desabilitar em sua organização

Você pode usar a página de configurações da organização para "Segurança e análise de código" para habilitar o Dependabot em executores auto-hospedados para todos os repositórios privados existentes em uma organização. Somente os repositórios já configurados para executar o Dependabot no GitHub Actions serão atualizados para executar o Dependabot em executores auto-hospedados na próxima vez que um trabalho do Dependabot for acionado.

  1. No canto superior direito de GitHub, selecione sua foto de perfil e selecione Suas organizações.
  2. Ao lado da organização, clique em Configurações.
  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

Note

Se sua organização estiver inscrita no beta público do security configurations e do global settings, em vez de "Segurança e análise de código", você verá um menu suspenso "Segurança de código". Selecione Segurança de código e clique em Configurações. Para as próximas etapas de habilitação do Dependabot em executores auto-hospedados e outros recursos de segurança em escala com o security configurations, consulte "Aplicação da configuração de segurança recomendada pelo GitHub em sua organização".

  1. Em "Segurança do código", selecione "Configurações globais".
  2. Em "Dependabot", selecione "Dependabot em executores auto-hospedados" para habilitar o recurso ou desmarque-o para desabilitá-lo. Essa ação habilita ou desabilita o recurso para todos os novos repositórios na organização.