sre_nre
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sre_nre [2024/05/20 03:46] – oso | sre_nre [2024/10/17 21:42] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| **Learning Outcomes**: Gain experience in CI/CD tools, network monitoring, automation, and defining performance metrics. | **Learning Outcomes**: Gain experience in CI/CD tools, network monitoring, automation, and defining performance metrics. | ||
| + | |||
| + | === Step-by-Step Implementation === | ||
| + | |||
| + | == Step 1: Configuración Inicial == | ||
| + | |||
| + | - Configura tu entorno local: | ||
| + | - Asegúrate de tener `git` y `composer` instalados en tu máquina. | ||
| + | - Clona el repositorio forkeado de PicoCMS: | ||
| + | < | ||
| + | cd pico</ | ||
| + | - Instala las dependencias: | ||
| + | < | ||
| + | php composer.phar install</ | ||
| + | |||
| + | - Configura tu servidor web: | ||
| + | - Accede a tu servidor web y navega al directorio de instalación: | ||
| + | < | ||
| + | - Clona tu repositorio en el servidor: | ||
| + | < | ||
| + | cd pico | ||
| + | php composer.phar install</ | ||
| + | |||
| + | == Step 2: Configuración de GitHub Actions para CI/CD == | ||
| + | |||
| + | - Crea un archivo de workflow en GitHub Actions: | ||
| + | - En tu repositorio de GitHub, crea el directorio `.github/ | ||
| + | - Dentro de este directorio, crea un archivo `ci-cd.yml` (o como prefieras llamarlo). | ||
| + | |||
| + | - Define el workflow de GitHub Actions: | ||
| + | - Abre el archivo `ci-cd.yml` y define tu workflow. Aquí tienes un ejemplo básico: | ||
| + | < | ||
| + | name: CI/CD Pipeline | ||
| + | |||
| + | on: | ||
| + | push: | ||
| + | branches: | ||
| + | - main | ||
| + | pull_request: | ||
| + | branches: | ||
| + | - main | ||
| + | |||
| + | jobs: | ||
| + | build: | ||
| + | runs-on: ubuntu-latest | ||
| + | |||
| + | steps: | ||
| + | - name: Checkout repository | ||
| + | uses: actions/ | ||
| + | |||
| + | - name: Set up PHP | ||
| + | uses: shivammathur/ | ||
| + | with: | ||
| + | php-version: | ||
| + | |||
| + | - name: Install Composer dependencies | ||
| + | run: composer install | ||
| + | |||
| + | - name: Deploy to server | ||
| + | env: | ||
| + | DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }} | ||
| + | run: | | ||
| + | ssh -o StrictHostKeyChecking=no -i $DEPLOY_KEY user@your_server "cd / | ||
| + | |||
| + | == Step 3: Configuración de Deploy Key == | ||
| + | |||
| + | - Genera una llave SSH para despliegue: | ||
| + | - En tu máquina local, genera una nueva llave SSH sin passphrase: < | ||
| + | - Copia la llave pública al servidor: < | ||
| + | - Configura la llave privada como secreto en GitHub: | ||
| + | - Ve a la configuración de tu repositorio en GitHub. | ||
| + | - Navega a " | ||
| + | |||
| + | == Step 4: Pruebas y Ajustes == | ||
| + | |||
| + | * Realiza un commit y push para probar el workflow: | ||
| + | - Haz cambios en tu repositorio local y sube los cambios: | ||
| + | < | ||
| + | git add . | ||
| + | git commit -m "Setup CI/CD pipeline" | ||
| + | git push origin main | ||
| + | </ | ||
| + | |||
| + | * Monitorea la ejecución en GitHub Actions: | ||
| + | - Ve a la pestaña " | ||
| + | - Asegúrate de que el pipeline se ejecute correctamente y despliegue los cambios al servidor. | ||
| + | |||
| + | == Step 5: Integración de Herramientas de Monitoreo y Automatización == | ||
| + | |||
| + | - Configura Prometheus y Grafana: | ||
| + | - Instala y configura Prometheus y Grafana en tu servidor para monitorizar métricas. | ||
| + | - Añade los exportadores necesarios para monitorizar tu aplicación web y red. | ||
| + | - Automatiza configuraciones de red con Ansible: | ||
| + | - Crea playbooks de Ansible para automatizar tareas de configuración y despliegue de la red. | ||
| + | - Integra estos playbooks en tu pipeline de GitHub Actions. | ||
| + | |||
| + | == Step 6: Definición de SLOs == | ||
| + | |||
| + | - Define SLOs para tu aplicación: | ||
| + | - Establece objetivos de nivel de servicio para la latencia, pérdida de paquetes y throughput. | ||
| + | - Configura alertas en Prometheus y Grafana basadas en estos SLOs. | ||
| + | |||
| ---- | ---- | ||
sre_nre.1716176774.txt.gz · Last modified: 2024/10/17 21:42 (external edit)
