Skip to main content

Configuración del envío automático de dependencias para el repositorio

Puede usar el envío automático de dependencias para enviar datos de dependencia transitiva en el repositorio. Esto le permite analizar estas dependencias transitivas mediante el gráfico de dependencias.

¿Quién puede utilizar esta característica?

Propietarios de repositorios, propietarios de organizaciones, administradores de seguridad y usuarios con el rol de administrador

Acerca del envío automático de dependencias

Note

El envío automático de dependencias solo se admite actualmente para Maven.

El gráfico de dependencias analiza el manifiesto y los archivos de bloqueo de un repositorio, con el fin de ayudar a los usuarios a comprender las dependencias de las que depende el repositorio. Sin embargo, en algunos ecosistemas, la resolución de dependencias transitivas se produce en tiempo de compilación y GitHub no puede detectar automáticamente todas las dependencias basadas en el contenido del repositorio solo.

Al habilitar el envío automático de dependencias para un repositorio, GitHub identifica automáticamente las dependencias transitivas del repositorio y enviará estas dependencias a GitHub mediante los datos API de envío de dependencias. A continuación, puede informar sobre estas dependencias mediante el gráfico de dependencias.

El uso de recuentos de envío de dependencias automáticas para los minutos de GitHub Actions. Para más información, consulta Acerca de la facturación para las Acciones de GitHub.

Opcionalmente, puede configurar ejecutores autohospedados o GitHubhospedados por ejecutores más grandes para el envío automático de dependencias. Para obtener más información, consulte "Uso de ejecutores autohospedados para el envío automático de dependencias" y "Uso de ejecutadores de mayor capacidad hospedados en GitHub para el envío automático de dependencias".

Requisitos previos

El gráfico de dependencias debe estar habilitado para que el repositorio pueda habilitar el envío automático de dependencias.

También debe habilitar GitHub Actions para el repositorio con el fin de usar el envío automático de dependencias. Para más información, consulta Administrar los ajustes de las GitHub Actions de un repositorio.

Habilitación del envío automático de dependencias

Los administradores del repositorio pueden habilitar o deshabilitar el envío automático de dependencias para un repositorio siguiendo los pasos descritos en este procedimiento.

Los propietarios de la organización pueden habilitar el envío automático de dependencias para varios repositorios mediante una configuración de seguridad. Para más información, consulta Creación de una configuración de seguridad personalizada.

  1. En GitHub, navegue hasta 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 "Security" de la barra lateral, haz clic en Code security.

  4. En "Gráfico de dependencias", haga clic en el menú desplegable situado junto a "Envío automático de dependencias" y seleccione Habilitado.

Una vez que haya habilitado el envío automático de dependencias para un repositorio, GitHub hará lo siguiente:

  • Supervise si hay cambios en el archivo pom.xml en la raíz del repositorio en todas las ramas del repositorio.
  • Realice un envío automático de dependencias en cada cambio.

Puede ver detalles sobre los flujos de trabajo automáticos ejecutados mediante la pestaña Acciones del repositorio.

Note

El envío automático se producirá en la primera inserción en el archivo pom.xml después de habilitar la opción.

Uso de ejecutores autohospedados para el envío automático de dependencias

Puede configurar ejecutores autohospedados para ejecutar trabajos de envío automático de dependencias, en lugar de usar la infraestructura deGitHub Actions.

  1. Aprovisione uno o más ejecutores de prueba interna en el nivel de repositorio u organización. Para más información, consulta Acerca de los ejecutores autohospedados y Agrega ejecutores auto-hospedados. Los ejecutores autohospedados deben ejecutarse en Linux o macOS y deben tener Docker instalado.
  2. Asigne una etiqueta dependency-submission a cada ejecutor que quiera que use el envío automático de dependencias. Para más información, consulta Uso de etiquetas con ejecutores autohospedados.
  3. En la sección "Security" de la barra lateral, haz clic en Code security.
  4. En "Gráfico de dependencias", haga clic en el menú desplegable situado junto a "Envío automático de dependencias" y, a continuación, seleccione Habilitado para ejecutores etiquetados.

Una vez habilitado, los trabajos de envío automático de dependencias se ejecutarán en los ejecutores autohospedados, a menos que:

  • Los ejecutores autohospedados no están disponibles.
  • No hay ningún grupo de ejecutores etiquetados con una etiqueta dependency-submission.

Note

Al usar ejecutores autohospedados, debe agregar acceso al archivo de configuración del servidor de Maven para permitir que los flujos de trabajo de envío de dependencias se conecten a registros privados. Las dependencias de los registros privados se incluirán en el árbol de dependencias de la siguiente actualización de pom.xml. Para obtener más información sobre el archivo de configuración del servidor de Maven, consulte Configuración de seguridad e implementación en la documentación de Maven.

Usar GitHub-hospedado ejecutores más grandes para el envío automático de dependencias

Los usuarios de GitHub Team o GitHub Enterprise Cloud pueden utilizar ejecutores más grandes para ejecutar trabajos de envío automático de dependencias.

  1. Aprovisione un ejecutor mayor en el nivel de organización con el nombre dependency-submission. Para obtener más información, consulta Adición de un ejecutor más grande a una organización.
  2. Asigne al ejecutor acceso al repositorio. Para más información, consulta Permitir que los repositorios accedan a ejecutores más grandes.
  3. En "Gráfico de dependencias", haga clic en el menú desplegable situado junto a "Envío automático de dependencias" y, a continuación, seleccione Habilitado para ejecutores etiquetados.

Solución de problemas de envío automático de dependencias

El envío automático de dependencias solo se admite actualmente para Maven. La característica usa la acción Envío de árbol de dependencias de Maven. Para obtener más información, consulte la documentación de la acción Envío de dependencias del árbol de dependencias de Maven en GitHub Marketplace. Si el proyecto usa una configuración de Maven no estándar, es posible que no genere correctamente las dependencias y envíelas al gráfico de dependencias.

El envío automático de dependencias hace todo lo posible por almacenar en caché las descargas de paquetes entre ejecuciones mediante la acción Cache para acelerar los flujos de trabajo. En el caso de los ejecutores autohospedados, puede que quieras administrar esta memoria caché en tu propia infraestructura. Para ello, puedes deshabilitar el almacenamiento en caché integrado si estableces una variable de entorno de GH_DEPENDENCY_SUBMISSION_SKIP_CACHE en true. Para más información, consulta Almacenamiento de información en variables.

Información adicional