GitHub
vSaaS / EnterpriseCó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_apiEjemplo 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: weeklyCaracterí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