CI/CD DevOps Automation Workflow GitHub Actions GitLab CI Jenkins

Guía Definitiva de Plantillas de Automatización CI/CD: GitHub, GitLab, Jenkins y más

Domine CI/CD con nuestra guía completa sobre generadores de flujos de trabalho y plantillas para GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Drone y Bitbucket.

2026-04-11

Introducción a la Automatización de Flujos de Trabajo CI/CD

En el ciclo de vida del desarrollo de software moderno, CI/CD (Integración Continua y Despliegue Continuo) ya no es un lujo, sino una necesidad. Automatizar sus procesos de construcción, prueba y despliegue permite a los equipos entregar software de alta calidad más rápido y con menos errores manuales. Sin embargo, configurar estas canalizaciones desde cero puede ser una tarea desalentadora y lenta.

Aquí es donde entran en juego las plantillas de automatización de flujos de trabajo CI/CD y los generadores. Al usar plantillas estandarizadas, puede acelerar su viaje DevOps, garantizar la coherencia entre proyectos y adherirse a las mejores prácticas de la industria sin reinventar la rueda. En esta guía, exploraremos las plataformas CI/CD más populares y proporcionaremos plantillas listas para usar para optimizar su automatización.


GitHub Actions y GitLab CI: Canalizaciones Modernas Nativas de la Nube

GitHub Actions y GitLab CI se han convertido en los líderes de la industria para CI/CD nativo de la nube debido a su profunda integración con los sistemas de control de versiones.

Generador de flujos de trabajo de GitHub Actions (GitHub Actions workflow generator)

Un generador de flujos de trabajo de GitHub Actions le ayuda a crear archivos .github/workflows/*.yml adaptados a la pila tecnológica de su proyecto. Ya sea que esté construyendo una aplicación Node.js, un script de Python o una imagen de Docker, una buena plantilla garantiza que sus secretos se manejen de forma segura y que sus trabajos se ejecuten de manera eficiente.

Plantilla de .github/workflows (Ejemplo de Node.js)

Aquí tiene una plantilla de .github/workflows robusta para un proyecto Node.js que incluye linting, pruebas y construcción:

name: Node.js CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [18.x, 20.x]

    steps:
    - uses: actions/checkout@v4
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v4
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'
    - run: npm ci
    - run: npm run lint
    - run: npm test
    - run: npm run build

Plantilla y Generador de GitLab CI (gitlab CI template & .gitlab-ci.yml generator)

GitLab CI utiliza un único archivo, .gitlab-ci.yml, para definir toda la canalización. El uso de un generador de .gitlab-ci.yml o una plantilla de GitLab CI le permite definir canalizaciones complejas de múltiples etapas con facilidad.

Plantilla básica de .gitlab-ci.yml

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - echo "Compilando el código..."
    - npm install
    - npm run build
  artifacts:
    paths:
      - dist/

test-job:
  stage: test
  script:
    - echo "Ejecutando pruebas unitarias..."
    - npm test

deploy-prod:
  stage: deploy
  script:
    - echo "Desplegando al servidor de producción..."
  only:
    - main

Canalizaciones de Jenkinsfile: El Estándar Empresarial

Jenkins sigue siendo la columna vertebral de CI/CD para muchas empresas debido a su inmenso ecosistema de complementos y flexibilidad.

Generador de Jenkinsfile y Plantilla de Canalización (Jenkinsfile generator & Jenkinsfile pipeline template)

Un generador de Jenkinsfile simplifica la creación de canalizaciones basadas en Groovy. El uso de una plantilla de canalización de Jenkinsfile garantiza que sus etapas estén claramente definidas y que su entorno esté debidamente aislado.

Plantilla de Jenkinsfile Declarativo

pipeline {
    agent any

    environment {
        APP_NAME = 'mi-aplicacion-genial'
    }

    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }
        stage('Build') {
            steps {
                sh 'npm install'
                sh 'npm run build'
            }
        }
        stage('Test') {
            steps {
                sh 'npm test'
            }
        }
        stage('Deploy') {
            when {
                branch 'main'
            }
            steps {
                echo 'Desplegando a Producción...'
                // Agregue sus comandos de despliegue aquí
            }
        }
    }
    post {
        always {
            cleanWs()
        }
        failure {
            echo '¡La canalización falló! Revise los registros.'
        }
    }
}

CircleCI, Travis, Drone y Bitbucket

Más allá de los "Tres Grandes", varias otras plataformas ofrecen excelentes capacidades de automatización.

Generador de .circleci/config.yml

CircleCI utiliza un formato YAML altamente optimizado. Un generador de .circleci/config.yml le ayuda a gestionar "orbs" (paquetes de configuración reutilizables).

version: 2.1
jobs:
  build_and_test:
    docker:
      - image: cimg/node:20.0
    steps:
      - checkout
      - run: npm install
      - run: npm test
workflows:
  sample:
    jobs:
      - build_and_test

Generador de .travis.yml y .drone.yml

Travis CI es conocido por su simplicidad, mientras que Drone CI es famoso por su enfoque centrado en contenedores. Utilice un generador de .travis.yml o un generador de .drone.yml para comenzar rápidamente.

Plantilla de Travis CI:

language: node_js
node_js:
  - "20"
script:
  - npm install
  - npm test

Plantilla de Drone CI:

kind: pipeline
type: docker
name: default

steps:
- name: test
  image: node:20
  commands:
  - npm install
  - npm test

Generador de Bitbucket Pipelines (bitbucket-pipelines.yml generator)

Para los equipos que usan Bitbucket, el generador de bitbucket-pipelines.yml es la herramienta de referencia.

image: node:20

pipelines:
  default:
    - step:
        caches:
          - node
        script:
          - npm install
          - npm test
  branches:
    main:
      - step:
          script:
            - npm install
            - npm test
            - npm run deploy

FAQ: Errores Comunes de CI/CD y Soluciones

¿Por qué mi "flujo de trabajo no se encuentra (workflow not found)"?

Esto suele suceder si el archivo YAML está en el directorio equivocado (por ejemplo, .github/workflow en lugar de .github/workflows) o tiene un error de sintaxis. Verifique la ruta del archivo y use un linter de YAML.

¿Qué debo hacer si el "runner está fuera de línea (runner offline)"?

Si está utilizando ejecutores alojados por usted mismo, asegúrese de que el servicio del ejecutor esté activo y tenga conectividad a Internet. Para los ejecutores alojados por GitHub/GitLab, consulte sus páginas de estado para ver si hay interrupciones del servicio.

¿Cómo solucionar errores de "permiso denegado (permission denied)"?

Verifique si sus scripts de CI/CD tienen permisos de ejecución (por ejemplo, chmod +x script.sh). Además, verifique que el usuario que ejecuta el agente de CI tenga acceso a los directorios de destino o al socket de Docker.

¿Por qué falta una "variable de entorno (environment variable missing)"?

Asegúrese de haber definido sus secretos y variables en la configuración de la plataforma (Repository Secrets en GitHub, CI/CD Variables en GitLab). Recuerde que los secretos a menudo no se pasan a las PR de forks por razones de seguridad.


Impulse su Desarrollo con Tool3M

Construir canalizaciones de CI/CD perfectas es solo una parte del viaje del desarrollador. En Tool3M, ofrecemos una amplia gama de herramientas en línea gratuitas y de alta calidad para ayudarlo con todo, desde el formateo de JSON hasta el procesamiento de imágenes.

¡Consulte nuestras otras herramientas y haga que su flujo de trabajo sea aún más eficiente hoy mismo!