Skip to main content

Administración de Dependabot en ejecutores de prueba interna

Puede configurar ejecutores de prueba interna de GitHub Actions que Dependabot usa para acceder a los registros privados y a los recursos de red internos.

¿Quién puede utilizar esta característica?

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

Note

Debe optar por ejecutar Dependabot en GitHub Actions. Las versiones futuras de GitHub quitarán la capacidad de optar y ejecutar siempre Dependabot en GitHub Actions. Para obtener más información, vea «Acerca de Dependabot en ejecutores de Acciones de GitHub».

Acerca de Dependabot en ejecutores de prueba interna GitHub Actions

Puedes ayudar a los usuarios de su organización y repositorios a crear y mantener código seguro configurando las actualizaciones de versión y seguridad de Dependabot. Con Dependabot updates, los desarrolladores pueden configurar repositorios para que sus dependencias se actualicen y se mantengan seguras automáticamente. La ejecución de Dependabot en GitHub Actions permite mejorar el rendimiento y aumentar la visibilidad y el control de los trabajos de Dependabot.

Para tener un mayor control sobre el acceso de Dependabot a los registros privados y a los recursos de red internos, puede configurar Dependabot para que se ejecute en los ejecutores de prueba interna de GitHub Actions.

Por motivos de seguridad, al ejecutar Dependabot en los ejecutores de prueba interna de GitHub Actions, Dependabot updates no se ejecutará en repositorios públicos.

Para obtener más información sobre cómo configurar el acceso de Dependabot a registros privados al usar ejecutores hospedados de GitHub, vea "Guía para la configuración de registros privados para Dependabot". Para obtener información sobre qué ecosistemas se admiten como registros privados, consulta "Eliminación del acceso de Dependabot a registros públicos".

Requisitos previos

Debe asegurarse de tener Dependabot instalado y habilitado, y GitHub Actions está habilitado y en uso. La configuración de "Dependabot en ejecutores GitHub Actions de la organización también debe estar habilitada. Para obtener más información, vea «Acerca de Dependabot en ejecutores de Acciones de GitHub».

Si GitHub Actions no está habilitado para su organización o repositorio, la configuración de nivel de organización o repositorio para habilitar "Dependabot en los ejecutores de GitHub Actions no estará visible en la interfaz de usuario web.

Es posible que su organización haya configurado una directiva para restringir las acciones y los ejecutores de prueba interna e impedir que se ejecuten en repositorios específicos, lo que a su vez no permitirá que Dependabot se ejecute en ejecutores de prueba interna de GitHub Actions. En este caso, la configuración de nivel de organización o repositorio para habilitar "Dependabot en ejecutores de prueba interna" no estará visible en la interfaz de usuario web. Para obtener más información, vea «Inhabilitar o limitar GitHub Actions para tu organización».

Configurar los ejecutores autohospedados para Dependabot updates

Después de configurar la organización o el repositorio para ejecutar Dependabot en GitHub Actions, y antes de habilitar Dependabot en ejecutores de prueba interna, debe configurar ejecutores de prueba interna para Dependabot updates.

Requisitos del sistema para ejecutores de Dependabot

Cualquier máquina virtual (VM) que use para los ejecutores del Dependabot debe cumplir los requisitos de los ejecutores autohospedados. Además, deben cumplir los siguientes requisitos.

  • Sistema operativo Linux

  • Arquitectura x64

  • Tener Docker instalado con acceso para los usuarios del ejecutor:

    • Se recomienda instalar Docker en modo sin raíz y configurar los ejecutores para acceder a Docker sin privilegios root.
    • Como alternativa, instale Docker y conceda a los usuarios del ejecutor privilegios para ejecutar Docker.

Los requisitos de CPU y memoria dependerán del número de ejecutores simultáneos que implemente en una máquina virtual determinada. A modo de guía, hemos configurado correctamente 20 ejecutores en una sola máquina de 8 GB de 2 CPU pero, en última instancia, los requisitos de CPU y memoria dependerán en gran medida de los repositorios que se actualicen. Algunos ecosistemas requerirán más recursos que otros.

Si especifica más de 14 ejecutores simultáneos en una máquina virtual, también debe actualizar la configuración /etc/docker/daemon.json de Docker para aumentar el número predeterminado de redes que puede crear Docker.

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

Requisitos de red para ejecutores del Dependabot

Los ejecutores del Dependabot necesitan acceso al internet público, a GitHub.com y a cualquier registro interno que se utilizará en Dependabot updates. Para minimizar el riesgo de la red interna, debe limitar el acceso desde la máquina virtual (VM) a la red interna. Esto reduce la posibilidad de que se produzcan daños en los sistemas internos si un ejecutor descarga una dependencia secuestrada.

Certificado de la configuración de los ejecutores de Dependabot

Si Dependabot debe interactuar con registros que usan certificados autofirmados, esos certificados también deben instalarse en los ejecutores autohospedados que ejecutan trabajos de Dependabot. Esta seguridad protege la conexión. También debes configurar Node.js para usar el certificado, ya que la mayoría de las acciones se escriben en JavaScript y se ejecutan utilizando Node.js, lo cual no utiliza el almacenamiento del certificado del sistema operativo.

Agregar ejecutores autohospedados para actualizaciones del Dependabot

  1. Aprovisione ejecutores de prueba interna en el nivel de repositorio u organización. Para obtener más información, vea «Acerca de los ejecutores autohospedados» y «Agrega ejecutores auto-hospedados».

  2. Configure los ejecutores autohospedados con los requisitos descritos anteriormente. Por ejemplo, en una máquina virtual que ejecuta Ubuntu 20.04, haría lo siguiente:

  3. Asigne una etiqueta dependabot a cada ejecutor que quiera que use el Dependabot. Para obtener más información, vea «Uso de etiquetas con ejecutores autohospedados».

  4. Opcionalmente, habilite los flujos de trabajo que desencadena Dependabot para usar permisos que sean más que de solo lectura y tener acceso a los secretos que normalmente están disponibles. Para obtener más información, vea «Automatizar al Dependabot con las GitHub Actions».

Habilitar los ejecutores autohospedados para Dependabot updates

Una vez que haya configurado ejecutores de prueba interna para Dependabot updates, puede habilitar o deshabilitar Dependabot updates en ejecutores de prueba interna en el nivel de organización o repositorio.

Tenga en cuenta que deshabilitar y volver a habilitar "Dependabot en ejecutores de prueba interna" no desencadenará una nueva ejecución de Dependabot.

Habilitar o deshabilitar el repositorio

Puede administrar Dependabot en ejecutores de prueba interna para el repositorio público o privado.

  1. En GitHub.com, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.

Note

Si su organización está inscrita en la versión beta pública de security configurations y global settings public beta, en lugar de "Seguridad y análisis del código" verá un menú desplegable "Seguridad de código". Seleccione Seguridad de código y, a continuación, haga clic en Configuraciones. Para conocer los pasos siguientes sobre cómo habilitar Dependabot en ejecutores de prueba interna y otras características de seguridad a gran escala con security configurations, consulte "Aplicación de la configuración de seguridad recomendada por GitHub en su organización".

  1. En "Seguridad y análisis de código", a la derecha de "Dependabot en ejecutores de prueba interna", haga clic en Habilitar para habilitar la característica o Deshabilitar para deshabilitarla.

Habilitar o deshabilitar en una organización

Puede usar la página de configuración de la organización para "Seguridad y análisis de código" para habilitar Dependabot en ejecutores de prueba interna para todos los repositorios privados de una organización. Solo se actualizarán los repositorios ya configurados para ejecutar Dependabot en GitHub Actions para ejecutar Dependabot en ejecutores de prueba interna la próxima vez que un trabajo de Dependabot se desencadene.

  1. En la esquina superior derecha de GitHub.com, selecciona la foto de perfil y luego haz clic en Sus organizaciones.

    Captura de pantalla del menú desplegable en la imagen de perfil de @octocat. "Sus organizaciones" se destaca en naranja oscuro.

  2. Junto a la organización, haga clic en Settings.

  3. En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.

Note

Si su organización está inscrita en la versión beta pública de security configurations y global settings public beta, en lugar de "Seguridad y análisis del código" verá un menú desplegable "Seguridad de código". Seleccione Seguridad de código y, a continuación, haga clic en Configuraciones. Para conocer los pasos siguientes sobre cómo habilitar Dependabot en ejecutores de prueba interna y otras características de seguridad a gran escala con security configurations, consulte "Aplicación de la configuración de seguridad recomendada por GitHub en su organización".

  1. En "Seguridad y análisis de código", a la derecha de "Dependabot en ejecutores de prueba interna", haga clic en Habilitar todo para habilitar la característica o en Deshabilitar todo para deshabilitarla.
  2. Opcionalmente, selecciona Habilitar automáticamente para los nuevos repositorios a fin de habilitar Dependabot en repositorios de prueba interna de manera predeterminada para los nuevos repositorios de las organizaciones.