Volver a Documentación
GitHub

GitHub

vSaaS / Enterprise

Código fuente, CI/CD y análisis de seguridad

Descripción

GitHub es la plataforma de gestión de código fuente y CI/CD de todos los proyectos WicSecure. GitHub Actions automatiza el pipeline de build, test, análisis de seguridad y despliegue al clúster Swarm.

Uso en WicSecure

Los repositorios son privados. Los pipelines de GitHub Actions ejecutan: ESLint + TypeScript check, tests unitarios con Jest, análisis SAST con CodeQL, scan de dependencias con Dependabot y despliegue automático a producción al hacer merge a main.

Configuración clave

yamlconfig
# .github/workflows/deploy.yml — Pipeline WicSecure
name: CI/CD
on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20', cache: 'npm' }
      - run: npm ci
      - run: npm run lint
      - run: npm run type-check
      - run: npm test

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to Swarm
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: root
          key: ${{ secrets.SSH_KEY }}
          script: |
            cd /root/Tecnova
            docker build -t registry.wicsecure.com/mi-app:latest .
            docker push registry.wicsecure.com/mi-app:latest
            docker service update --image registry.wicsecure.com/mi-app:latest mi-app_api

Ejemplo de uso

yaml
# .github/dependabot.yml — actualizaciones de seguridad automáticas
version: 2
updates:
  - package-ecosystem: npm
    directory: /apps/web
    schedule:
      interval: weekly
    open-pull-requests-limit: 5
    groups:
      security-updates:
        applies-to: security-updates
        patterns: ["*"]

  - package-ecosystem: docker
    directory: /apps/api
    schedule:
      interval: weekly

Características clave

  • GitHub Actions: CI/CD declarativo en YAML
  • CodeQL: análisis SAST automático en cada PR
  • Dependabot: alertas y PRs automáticos de vulnerabilidades
  • Protección de ramas: require reviews y checks verdes
  • Environments para staging y producción con aprobaciones