DevOps & Deploy

Servicios DevOps

Infraestructura como código, CI/CD automatizado y despliegue en la nube.

Simulador de Terminal

Prueba comandos de DevOps simulados:

bash — demo-server
$ welcome
Bienvenido al simulador de terminal DevOps
Escribe un comando o usa los botones de abajo
$

Dockerfile de Ejemplo

Multi-stage build optimizado para producción:

# Stage 1: Build
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

# Stage 2: Production
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

docker-compose.yml

Configuración de servicios con red y volúmenes:

version: '3.8'

services:
  web:
    build: .
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      - NODE_ENV=production
      - DB_HOST=db
    restart: unless-stopped
    networks:
      - app-network

  db:
    image: postgres:14-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=myapp
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=secret
    networks:
      - app-network

volumes:
  postgres_data:

networks:
  app-network:
    driver: bridge

GitHub Actions CI/CD

Pipeline automatizado para test, build y deploy:

name: CI/CD Pipeline

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

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '18'
          cache: 'npm'
      - run: npm ci
      - run: npm test

  build-and-deploy:
    needs: test
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'
    steps:
      - uses: actions/checkout@v4
      - name: Build Docker image
        run: docker build -t myapp:${{ github.sha }} .
      - name: Deploy to server
        run: echo "Deploying to production..."

Simulación de Deploy

Observa un despliegue simulado en tiempo real:

Estado del Deploy Pendiente
Esperando inicio del deploy...

Stack DevOps

Docker Kubernetes GitHub Actions GitLab CI Nginx Linux AWS Azure Terraform Ansible

← Volver a Demos