Skip to main content

Gerenciar o Dependabot em executores auto-hospedados

Você pode configurar executores auto-hospedados 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.

Sobre o Dependabot em executores auto-hospedados do GitHub Actions

Se você habilitar Dependabot em um novo repositório e tiver GitHub Actions habilitado, o Dependabot será executado em GitHub Actions por padrão.

Se você habilitar Dependabot em um novo repositório e tiver GitHub Actions desabilitado, o Dependabot será executado no aplicativo herdado em GitHub Enterprise Cloud para executar Dependabot updates. Isso não fornece desempenho, visibilidade ou controle tão bom de trabalhos de Dependabot updates quanto GitHub Actions. Se você quiser usar o Dependabot com GitHub Actions, certifique-se de que seu repositório habilite GitHub Actions e, em seguida, habilite “Dependabot nos executores do Actions” na página de configurações “Segurança e análise de código” do repositório. Para obter mais informações, confira "Sobre o Dependabot em executores do GitHub Actions".

Note

Versões futuras de GitHub sempre executarão Dependabot usando GitHub Actions e você não terá mais a opção de habilitar ou desabilitar essa configuração.

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".

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".

Quando você impõe uma política para permitir ações e fluxos de trabalho reutilizáveis somente em sua empresa e habilita o Dependabot no GitHub Actions, o Dependabot não será executado. Para permitir que o Dependabot seja executado com suas ações corporativas e fluxos de trabalho reutilizáveis, você deve optar por permitir ações criadas por GitHub ou permitir ações especificadas e fluxos de trabalho reutilizáveis. Para obter mais informações, confira "Aplicando políticas para o GitHub Actions na sua empresa".

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 ou interno.

  1. Em GitHub, acesse 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 habilitar o Dependabot em executores auto-hospedados para todos os repositórios privados ou internos 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.

Note

Você precisará habilitar executores auto-hospedados para sua organização se usar executores avançados. Para obter mais informações, confira "Sobre o Dependabot em executores do GitHub Actions".

  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, em seguida, em Configurações globais.
  4. 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.

Para obter mais informações, confira "Configurações de segurança globais para sua organização".