Get the FREE Ultimate OpenClaw Setup Guide →

ci-cd-pipeline

npx machina-cli add skill 686f6c61/alfred-dev/ci-cd-pipeline --openclaw
Files (1)
SKILL.md
3.3 KB

Configurar pipeline CI/CD

Resumen

Este skill genera la configuración de un pipeline de integración y despliegue continuo adaptado al stack y la plataforma del proyecto. El pipeline automatiza las verificaciones de calidad (lint, tests, seguridad) y el despliegue, eliminando pasos manuales propensos a error.

Un buen pipeline es rápido (feedback en minutos, no en horas), fiable (no falla aleatoriamente) y seguro (no expone secretos ni permite despliegues sin verificación).

Proceso

  1. Detectar la plataforma de CI/CD. Identificar dónde se ejecutará el pipeline:

    • GitHub Actions: .github/workflows/.
    • GitLab CI: .gitlab-ci.yml.
    • Bitbucket Pipelines: bitbucket-pipelines.yml.
    • CircleCI: .circleci/config.yml.
    • Jenkins: Jenkinsfile.

    Si no hay preferencia, recomendar GitHub Actions por su ecosistema y facilidad de uso.

  2. Definir los stages del pipeline. El orden estándar es:

    StagePropósitoFalla si...
    LintVerificar estilo y errores estáticosHay errores de linter
    TestEjecutar tests unitarios e integraciónAlgún test falla
    BuildCompilar/construir el artefactoLa build falla
    SecurityEscanear vulnerabilidadesHay CVE críticos o altos
    DeployDesplegar al entorno objetivoEl despliegue falla
  3. Configurar caché de dependencias. Evitar descargar las mismas dependencias en cada ejecución:

    • Node.js: cachear node_modules con key basada en package-lock.json.
    • Python: cachear el directorio de pip con key basada en requirements.txt.
    • Rust: cachear target/ y el directorio de cargo.
  4. Gestionar secretos. Los secretos (tokens, contraseñas, API keys) nunca van en el código:

    • Usar el sistema de secretos de la plataforma (GitHub Secrets, GitLab Variables, etc.).
    • Referenciar como variables de entorno en el pipeline.
    • Documentar qué secretos son necesarios y dónde se configuran.
  5. Configurar triggers. Definir cuándo se ejecuta el pipeline:

    • Push a ramas principales (main, develop): pipeline completo.
    • Pull requests: lint + test + build (sin deploy).
    • Tags de versión: pipeline completo con deploy a producción.
  6. Configurar notificaciones de fallo. El equipo debe enterarse rápidamente cuando algo falla:

    • Notificación a Slack, email o similar cuando un stage falla.
    • Indicar qué stage falló y enlace al log.
  7. Configurar estrategia de deploy. Según el entorno:

    • Staging: deploy automático en cada merge a develop.
    • Producción: deploy manual o automático en cada tag de versión, según la preferencia del equipo.
  8. Documentar el pipeline. Añadir un comentario en el fichero de configuración explicando cada stage y cómo añadir nuevos pasos.

Criterios de éxito

  • El pipeline cubre lint, test, build, security y deploy.
  • Las dependencias se cachean para acelerar la ejecución.
  • Los secretos se gestionan vía variables de entorno de la plataforma, no en el código.
  • Los triggers están configurados para PRs, pushes y tags.
  • Hay notificaciones de fallo configuradas.
  • El fichero de configuración está documentado con comentarios.

Source

git clone https://github.com/686f6c61/alfred-dev/blob/main/skills/devops/ci-cd-pipeline/SKILL.mdView on GitHub

Overview

Este skill genera la configuración de un pipeline de CI/CD adaptado al stack y la plataforma del proyecto. Automatiza las verificaciones de calidad (lint, tests, seguridad) y el despliegue, reduciendo errores manuales y acelerando el feedback.

How This Skill Works

Detecta la plataforma de CI/CD (GitHub Actions, GitLab CI, Bitbucket Pipelines, CircleCI, Jenkins) y genera la configuración correspondiente. Define los stages (Lint, Test, Build, Security, Deploy), establece caché de dependencias, gestiona secretos mediante variables de entorno de la plataforma, configura triggers y notificaciones, y documenta cada paso en el fichero de configuración.

When to Use It

  • Cuando necesitas automatizar lint, tests y despliegue para acelerar el feedback.
  • Al migrar un proyecto a CI/CD o al estandarizar pipelines entre repositorios.
  • Cuando quieres evitar secretos en el código y gestionar credenciales vía la plataforma.
  • Para proyectos que requieren notificaciones rápidas ante fallos y trazabilidad de logs.
  • Al definir despliegues a staging y producción con reglas claras de despliegue.

Quick Start

  1. Step 1: Detecta la plataforma de CI/CD y crea el fichero de configuración adecuado (.github/workflows/, .gitlab-ci.yml, etc.).
  2. Step 2: Define los stages Lint, Test, Build, Security y Deploy, con reglas de fallo claras.
  3. Step 3: Configura caché de dependencias, secrets como variables de entorno y triggers (PRs, pushes, tags); añade comentarios explicativos y notificaciones.

Best Practices

  • Cubre lint, test, build, security y deploy en el pipeline para un ciclo completo.
  • Cachea dependencias con claves basadas en archivos de lock (p. ej., package-lock.json, requirements.txt).
  • Gestiona secretos vía variables de entorno de la plataforma y no los codifiques en el repositorio.
  • Configura triggers para pushes a ramas, pull requests y tags de versión.
  • Documenta cada stage con comentarios en el fichero de configuración y explica cómo añadir nuevos pasos.

Example Use Cases

  • GitHub Actions para Node.js: cache de node_modules, lint, tests, build, seguridad y deployment a staging/producción mediante tags.
  • GitLab CI para Python: caching de requirements.txt, ejecución de unitarios e integración, y deployment a producción tras merge.
  • CircleCI para Rust: caching de target/ y cargo, pipeline con lint, test y deploy automático en release.
  • Jenkinsfile para Java: lint, tests, build y despliegue a staging con aprobación para producción.
  • Bitbucket Pipelines para una app multi-service: notificaciones a Slack ante fallos y despliegues coordinados.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers