Gestión centralizada de workflows
Descubra métodos para centralizar y estandarizar los workflows de GitHub Actions en los repositorios de una organización.
Gestión centralizada de workflows es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Centralizar su CI/CD
¡Le damos la bienvenida a la gestión centralizada de flujos de trabajo! En las organizaciones grandes, gestionar las canalizaciones de CI/CD de muchos proyectos puede resultar complejo.
En esta lección se explica cómo estandarizar y centralizar los flujos de trabajo de GitHub Actions para aportar coherencia, eficiencia y mayor seguridad a todo el ecosistema de desarrollo.
¿Por qué centralizar? Los desafíos
Imagine que cada equipo crea su propio flujo de trabajo de CI/CD. Esto suele provocar:
- Duplicación: Los equipos escriben una lógica similar una y otra vez.
- Incoherencia: Surgen estándares y prácticas diferentes.
- Problemas de mantenimiento: Actualizar una herramienta compartida o una práctica de seguridad requiere realizar cambios en muchos lugares.
- Riesgos de seguridad: Es más difícil garantizar que todas las canalizaciones sigan las prácticas recomendadas de seguridad.
Flujos de trabajo reutilizables: la herramienta principal
Una de las herramientas más potentes para la centralización son los flujos de trabajo reutilizables. Permiten definir un conjunto de trabajos o pasos en un repositorio central y llamarlos desde cualquier otro repositorio de la organización.
Esto significa que la lógica común de compilación, pruebas o implementación reside en un solo lugar, lo que facilita su gestión y actualización.
Ejemplo: llamar a un flujo de trabajo reutilizable
Así es como un repositorio de proyecto (el «emisor») puede usar un flujo de trabajo reutilizable definido en un repositorio central (por ejemplo, octo-org/central-workflows).
La palabra clave uses apunta al flujo de trabajo central, y with pasa las entradas personalizadas.
name: Client App CI
on:
push:
branches:
- main
jobs:
call-build-and-test:
# Calls a workflow from a central 'octo-org' repository
uses: octo-org/central-workflows/.github/workflows/build-and-test.yml@main
with:
node-version: '18'
secrets: inherit # Pass all caller's secrets to the reusable workflowSecretos y variables a nivel de organización
Además de los flujos de trabajo reutilizables, GitHub permite definir secretos y variables a nivel de organización.
Son fundamentales para almacenar datos confidenciales (como claves de API) o valores de configuración comunes (como destinos de implementación) que pueden necesitar muchos repositorios de su organización.
Acceder a los secretos de la organización
Una vez configurado un secreto de organización, cualquier flujo de trabajo de un repositorio que tenga acceso a él puede usarlo igual que un secreto a nivel de repositorio. Esto garantiza que los datos confidenciales se gestionen de forma centralizada y segura.
Recuerde que los secretos nunca se muestran en los registros.
name: Deploy App
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Org Deployment Key
# Accesses an organization-level secret
run: echo "Attempting deployment with key: ${{ secrets.ORG_DEPLOY_KEY }}"Flujos de trabajo iniciales para mantener la coherencia
Para orientar a los desarrolladores y garantizar que los nuevos proyectos cumplan los estándares desde el primer día, las organizaciones pueden proporcionar flujos de trabajo iniciales.
Son plantillas de flujos de trabajo predefinidas que aparecen como opciones al crear un nuevo archivo de flujo de trabajo en un repositorio. Sirven como un punto de partida útil y aplican las prácticas recomendadas sin intervención manual.
Aplicar estándares con GitHub
Para un control aún más estricto, GitHub ofrece funciones como los conjuntos de reglas de repositorio (para GitHub Enterprise Cloud) o las GitHub Apps personalizadas.
Puede configurarlas para aplicar convenciones específicas de nomenclatura de flujos de trabajo, garantizar que determinados trabajos estén siempre presentes o incluso analizar los archivos de flujo de trabajo para comprobar su conformidad, asegurando una postura de CI/CD coherente y segura en toda la organización.
Por qué es importante la gestión centralizada
Implementar una gestión centralizada de los flujos de trabajo aporta ventajas significativas a una organización:
- Coherencia: Todos los equipos siguen prácticas uniformes de CI/CD.
- Eficiencia: Se reduce la duplicación de esfuerzos y se agiliza la configuración de proyectos.
- Seguridad: Es más fácil aplicar y actualizar las prácticas recomendadas de seguridad.
- Mantenibilidad: Las actualizaciones de la lógica compartida se realizan en un único lugar central.
- Incorporación: Los equipos nuevos pueden empezar rápidamente con plantillas aprobadas.
Compruebe su comprensión
¿Cuáles de las siguientes son ventajas principales de centralizar los flujos de trabajo de GitHub Actions en una organización?
Recapitulación de la lección
En esta lección, hemos explorado la importancia de la gestión centralizada de flujos de trabajo en GitHub Actions para las organizaciones. Hemos aprendido cómo los flujos de trabajo reutilizables, los secretos y las variables a nivel de organización y los flujos de trabajo iniciales ayudan a mantener la coherencia, mejorar la eficiencia y reforzar la seguridad en los repositorios de su organización.
Al centralizar su CI/CD, agiliza las operaciones y garantiza que todos los equipos sigan las prácticas recomendadas.
Preguntas frecuentes
¿La lección «Gestión centralizada de workflows» es gratis?
Sí — el texto completo de «Gestión centralizada de workflows» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Gestión centralizada de workflows»?
Descubra métodos para centralizar y estandarizar los workflows de GitHub Actions en los repositorios de una organización. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Gestión centralizada de workflows»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- CI/CD para monorepositorios
- Workflows entre repositorios
- Gestión centralizada de workflows
- Filtrado por rutas y compilaciones selectivas