{"meta":{"title":"Reutilización de configuraciones de flujo de trabajo","intro":"Obtén información sobre cómo evitar la duplicación al crear un flujo de trabajo.","product":"GitHub Actions","breadcrumbs":[{"href":"/es/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/es/enterprise-cloud@latest/actions/concepts","title":"Conceptos"},{"href":"/es/enterprise-cloud@latest/actions/concepts/workflows-and-actions","title":"Flujos de trabajo y acciones"},{"href":"/es/enterprise-cloud@latest/actions/concepts/workflows-and-actions/reusing-workflow-configurations","title":"Reutilización de configuraciones de flujo de trabajo"}],"documentType":"article"},"body":"# Reutilización de configuraciones de flujo de trabajo\n\nObtén información sobre cómo evitar la duplicación al crear un flujo de trabajo.\n\n## Flujos de trabajo reutilizables\n\nEn vez de copiar y pegar desde un flujo de trabajo hacia otro, puede hacer flujos de trabajo reutilizables. Tú y cualquiera que tenga acceso a un flujo de trabajo reutilizable pueden entonces llamarlo desde otro flujo.\n\nLos flujos de trabajo reutilizables también complementan agentic workflows: un flujo de trabajo agéntico puede invocar flujos de trabajo reutilizables aprobados y deterministas en lugar de duplicar la lógica. Para más información, consulta [Creación de flujos de trabajo agente de GitHub](/es/enterprise-cloud@latest/copilot/how-tos/github-agentic-workflows/creating-github-agentic-workflows).\n\nEl reutilizar flujos de trabajo evita la duplicación. Esto hace que los flujos de trabajo se puedan mantener más fácilmente y te permite crear flujos de trabajo nuevos más rápidamente basándote en el trabajo de los demás, tal como lo haces con las acciones. La reutilización de flujos de trabajo también promueve las mejores prácticas al ayudarte a utilizar los flujos de trabajo que están bien diseñados, que ya se han probado y cuya efectividad ya se comprobó. Tu organización puede crear una librería de flujos de trabajo reutilizables que puede mantenerse centralmente.\n\nEn el diagrama siguiente se muestra una ejecución de flujo de trabajo en curso que usa un flujo de trabajo reutilizable.\n\n* Una vez que cada uno de los tres trabajos de compilación de la izquierda del diagrama se completa correctamente, se ejecuta un trabajo dependiente denominado \"Implementar\".\n* El trabajo \"Implementar\" invoca un flujo de trabajo reutilizable que contiene tres trabajos: \"Preparación\", \"Revisión\" y \"Producción\".\n* La tarea de implementación \"Production\" solo se ejecuta después de que la tarea \"Staging\" se haya completado con éxito.\n* Cuando un trabajo tiene como destino un entorno, la ejecución del flujo de trabajo muestra una barra de progreso en la que se puede ver el número de etapas del trabajo. En el diagrama siguiente, el trabajo \"Producción\" contiene ocho pasos, y se puede ver cómo se está procesando el paso 6.\n* El utilizar un flujo de trabajo reutilizable para ejecutar jobs de despliegue te permite ejecutarlos para cada compilación sin duplicar el código en los flujos de trabajo.\n\n![Diagrama de un flujo de trabajo que llama a un flujo de trabajo reutilizable.](/assets/images/help/actions/reusable-workflows-ci-cd.png)\n\nA un flujo de trabajo que utiliza otro flujo de trabajo se le llama flujo de trabajo \"llamante\". El flujo de trabajo reutilizable es un flujo \"llamado\". Un flujo de trabajo llamante puede utilizar varios flujos de trabajo llamados. Cada flujo de trabajo llamado se referencia en una línea simple. El resultado es que el archivo de flujo de trabajo llamante podrá contener solo unas cuantas líneas de YAML, pero podría realizar una cantidad grande de tareas cuando se ejecute. Cuando reutilizas un flujo de trabajo, se utiliza todo el flujo de trabajo llamado justo como si fuera parte del flujo de trabajo llamante.\n\nSi reutilizas un flujo de trabajo desde un repositorio diferente, cualquier acción en el flujo de trabajo llamado se ejecutará como si formaran parte del flujo de trabajo que los invoca. Por ejemplo, si el flujo de trabajo al que se ha llamado usa `actions/checkout`, la acción comprueba el contenido del repositorio que hospeda el flujo de trabajo que ha iniciado la llamada y no el que la recibe.\n\nPuede ver los flujos de trabajo reutilizados a los que se hace referencia en GitHub Actions los flujos de trabajo como dependencias en el gráfico de dependencias del repositorio que contiene los flujos de trabajo. Para obtener más información, consulte \"[Acerca del gráfico de dependencias](/es/enterprise-cloud@latest/code-security/concepts/supply-chain-security/dependency-graph)\".\n\n### Diferencias entre flujos de trabajo reutilizables y acciones compuestas\n\nLos flujos de trabajo reutilizables y las acciones compuestas te ayudan a evitar la duplicación del contenido del flujo de trabajo. Mientras que los flujos de trabajo reutilizables permiten reutilizar un flujo de trabajo completo, con varios trabajos y pasos, las acciones compuestas combinan varios pasos que puede ejecutar en un único paso de trabajo, al igual que cualquier otra acción.\n\nAhora se compararán algunos aspectos de cada solución:\n\n* **Trabajos de flujo de trabajo**: las acciones compuestas contienen una serie de pasos, que se ejecutan como un solo paso dentro del flujo de trabajo del autor de la llamada. A diferencia de los flujos de trabajo reutilizables, no pueden contener trabajos.\n* **Registro**: cuando se ejecuta una acción compuesta, el registro mostrará solo el paso del flujo de trabajo del autor de la llamada que ejecutó la acción compuesta, no los pasos individuales dentro de la acción compuesta. Con los flujos de trabajo reutilizables, cada trabajo y paso se registra por separado.\n* **Especificación de ejecutores**: los flujos de trabajo reutilizables contienen uno o varios trabajos. Como ocurre con todos los trabajos, las tareas en un flujo de trabajo reutilizable especifican el tipo de máquina en la que se ejecutará. Por lo tanto, si los pasos deben ejecutarse en un tipo de máquina que podría ser diferente de la máquina elegida para el trabajo del flujo de trabajo que realiza la llamada, debe usar un flujo de trabajo reutilizable, no una acción compuesta.\n* **Pasar la salida a los pasos**: una acción compuesta se ejecuta como un paso dentro de un trabajo de flujo de trabajo y puede tener varios pasos antes o después del paso que ejecuta la acción compuesta. Los flujos de trabajo reutilizables se llaman directamente dentro de un trabajo y no desde dentro de un paso de trabajo. No se pueden agregar pasos a un trabajo después de llamar a un flujo de trabajo reutilizable, pero los flujos de trabajo reutilizables ahora admiten salidas a las que se puede hacer referencia en trabajos posteriores en el flujo de trabajo del autor de la llamada.\n\n### Diferencias clave entre flujos de trabajo reutilizables y acciones compuestas\n\n| Flujos de trabajo reutilizables                                                                                | Acciones compuestas                                                                                                                           |\n| -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |\n| Un archivo YAML, muy similar a cualquier archivo de flujo de trabajo estándar                                  | Una acción que contiene un conjunto de pasos de flujo de trabajo                                                                              |\n| Cada flujo de trabajo reutilizable es un único archivo en el directorio `.github/workflows` de un repositorio. | Cada acción compuesta es un repositorio independiente, o un directorio, que contiene un archivo `action.yml` y, opcionalmente, otros archivos |\n| Se llama haciendo referencia a un archivo YAML específico.                                                     | Se llama haciendo referencia a un repositorio o directorio en el que se define la acción.                                                     |\n| Se llama directamente dentro de un trabajo, no desde un paso                                                   | Ejecutar como un paso dentro de un trabajo                                                                                                    |\n| Puede contener varios trabajos                                                                                 | No contiene trabajos                                                                                                                          |\n| Cada paso se registra en tiempo real                                                                           | Se registra como un paso incluso si contiene varios pasos                                                                                     |\n| Puede conectar un máximo de diez niveles de flujos de trabajo.                                                 | Se puede anidar para tener hasta 10 acciones compuestas en un flujo de trabajo.                                                               |\n| Puede usar secretos                                                                                            | No puede usar secretos                                                                                                                        |\n| No se puede publicar en [Marketplace](https://github.com/marketplace?type=actions)                             | Se puede publicar en [Marketplace](https://github.com/marketplace?type=actions)                                                               |\n\n## Plantillas de flujos de trabajo\n\nLas plantillas de flujo de trabajo permiten que todos los usuarios de la organización que tengan permiso para crear flujos de trabajo lo hagan de forma más fácil y rápida. Cuando los usuarios crean un flujo de trabajo, pueden elegir una plantilla de flujo de trabajo y parte o todo el trabajo de escribir el flujo de trabajo se hará automáticamente. Dentro de una plantilla de flujo de trabajo, también puede hacer referencia a flujos de trabajo reutilizables para hacer más fácil que los usuarios se beneficien de reutilizar el código de flujo de trabajo que se administra centralmente.\n\nSi utiliza un SHA de confirmación cuando hace referencia al flujo de trabajo reutilizable, puede garantizar que todo aquel que reutilice ese flujo de trabajo siempre estará utilizando el mismo código de YAML. Sin embargo, si referencias un flujo de trabajo reutilizable mediante una etiqueta o rama, asegúrate de que puedas confiar en esa versión del flujo de trabajo. Para más información, consulta [Referencia de uso seguro](/es/enterprise-cloud@latest/actions/reference/security/secure-use#reusing-third-party-workflows).\n\nGitHub ofrece plantillas de flujo de trabajo para una variedad de lenguajes y herramientas. Al configurar flujos de trabajo en el repositorio, GitHub analiza el código del repositorio y recomienda flujos de trabajo basados en el lenguaje y el marco del repositorio. Por ejemplo, si usa Node.js, GitHub sugerirá un archivo de plantilla de flujo de trabajo que instale los paquetes de Node.js y ejecute las pruebas. Puede buscar y filtrar para buscar las plantillas de flujo de trabajo pertinentes.\n\nGitHub proporciona plantillas de flujo de trabajo listas para usar para las siguientes categorías de alto nivel:\n\n* **Implementación (CD)** . Para más información, consulta [Despliegue continuo](/es/enterprise-cloud@latest/actions/get-started/continuous-deployment).\n\n* **Seguridad**. Para obtener más información, consulte [Establecimiento de la configuración avanzada para el examen del código](/es/enterprise-cloud@latest/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-code-scanning-using-third-party-actions).\n\n* **Integración continua (CI)** . Para más información, consulta [Integración continua](/es/enterprise-cloud@latest/actions/get-started/continuous-integration).\n\n* **Automatización**. Las plantillas de flujo de trabajo de automatización ofrecen soluciones para automatizar flujos de trabajo, como evaluar las solicitudes de incorporación de cambios y aplicar una etiqueta basada en las rutas modificadas en la solicitud de incorporación de cambios, o bien saludar a los usuarios que colaboran por primera vez en el repositorio.\n\nPuede utilizar plantillas de flujo de trabajo como punto de partida para crear el flujo de trabajo personalizado, o bien utilizarlas tal cual. Puede examinar la lista completa de plantillas de flujo de trabajo en el repositorio [actions/starter-workflows](https://github.com/actions/starter-workflows).\n\nPara más información, consulta [Creación de plantillas de flujo de trabajo para la organización](/es/enterprise-cloud@latest/actions/how-tos/reuse-automations/create-workflow-templates).\n\nLas organizaciones también pueden compartir y controlar plantillas aprobadas agentic workflows junto con acciones compartidas y flujos de trabajo reutilizables. Para crear plantillas con GitHub Agentic Workflows, consulte [Creación de flujos de trabajo agente de GitHub](/es/enterprise-cloud@latest/copilot/how-tos/github-agentic-workflows/creating-github-agentic-workflows).\n\n## Delimitadores y alias de YAML\n\nPuedes usar delimitadores y alias de YAML para reducir la repetición en los flujos de trabajo. Un delimitador (marcado con `&`) identifica un fragmento de contenido que deseas reutilizar, mientras que un alias (marcado con `*`) repite ese contenido en otra ubicación. Piensa en un delimitador como si crearas una plantilla con nombre y un alias como si usaras esa plantilla. Esto es especialmente útil cuando tienes trabajos o pasos que comparten configuraciones comunes.\n\nPara obtener información de referencia y ejemplos, consulta [Reutilización de configuraciones de flujo de trabajo](/es/enterprise-cloud@latest/actions/reference/workflows-and-actions/reusing-workflow-configurations#yaml-anchors-and-aliases).\n\n## Pasos siguientes\n\nPara empezar a reutilizar tus flujos de trabajo, consulta [Reutilización de flujos de trabajo](/es/enterprise-cloud@latest/actions/how-tos/reuse-automations/reuse-workflows).\n\nPara buscar información sobre las complejidades de la reutilización de flujos de trabajo, consulta [Reutilización de configuraciones de flujo de trabajo](/es/enterprise-cloud@latest/actions/reference/workflows-and-actions/reusing-workflow-configurations)."}