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 obtener más información, vea «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 obtener más información, vea «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 obtener más información, vea «Creación de una configuración de seguridad personalizada».
-
En GitHub, navegue hasta la página principal del repositorio.
-
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.
-
En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.
-
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.
- Aprovisione uno o más 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». Los ejecutores autohospedados deben ejecutarse en Linux o macOS y deben tener Docker instalado.
- Asigne una etiqueta
dependency-submission
a cada ejecutor que quiera que use el envío automático de dependencias. Para obtener más información, vea «Uso de etiquetas con ejecutores autohospedados». - En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.
- 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.
- 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". - Asigne al ejecutor acceso al repositorio. Para más información, consulta "Permitir que los repositorios accedan a ejecutores más grandes".
- 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.