Files
analiticaNucleo/.claude/hooks/README.md
josedario87 d32b3e8db3
Some checks failed
build-and-deploy / build (push) Failing after 6s
build-and-deploy / deploy (push) Has been skipped
deploy-analiticaNucleo / deploy (push) Failing after 2s
feat: migrar a useAuthentik y configurar CI/CD con Gitea Actions
- Migrar de useAuth() a useAuthentik() para autenticación SSR
- Actualizar componentes UserMenu, AppSidebar y profile.vue
- Configurar docker-compose.yml con variables dinámicas
- Agregar Gitea Actions workflow para build y deploy automático
- Implementar hook de monitoreo de Gitea Actions
- Configurar secrets y variables para deploy seguro
- Actualizar configuración de Traefik con Authentik Forward Auth
2025-10-13 11:25:40 -06:00

153 lines
4.1 KiB
Markdown

# Gitea Actions Monitor Hook
Este hook monitorea automáticamente tus Gitea Actions después de hacer `git push` y te notifica cuando terminan.
## Configuración
### 1. Crear un token de acceso en Gitea
1. Ve a: https://gitea.nucleoriofrio.com/user/settings/applications
2. En la sección **"Generate New Token"**:
- **Token Name**: `claude-code-monitor` (o el nombre que prefieras)
- **Select Permissions**: Marca `read:repository` o `repo` (lectura de repositorio)
3. Click en **"Generate Token"**
4. **IMPORTANTE**: Copia el token inmediatamente (solo se muestra una vez)
### 2. Configurar la variable de entorno
Agrega el token a tu archivo de configuración de shell:
**Para Bash** (`~/.bashrc`):
```bash
export GITEA_TOKEN='tu_token_aqui'
```
**Para Zsh** (`~/.zshrc`):
```bash
export GITEA_TOKEN='tu_token_aqui'
```
**Para Fish** (`~/.config/fish/config.fish`):
```fish
set -x GITEA_TOKEN 'tu_token_aqui'
```
Luego recarga la configuración:
```bash
source ~/.bashrc # o ~/.zshrc o reinicia la terminal
```
### 3. Verificar que funciona
Verifica que la variable está configurada:
```bash
echo $GITEA_TOKEN
```
Deberías ver tu token.
## Uso
Una vez configurado, el hook se activa automáticamente cuando Claude Code ejecuta `git push`:
1. Claude ejecuta `git push`
2. El hook verifica que Actions estén habilitadas
3. El hook se activa automáticamente y comienza a monitorear
4. **Claude se congela** mientras espera a que termine la Gitea Action (máximo 10 minutos)
5. Puedes presionar **Ctrl+C** para interrumpir la espera si es necesario
6. Cuando termine, Claude te muestra información detallada:
**Ejemplo de action exitosa:**
```
✅ Gitea Action completada: EXITOSO
📋 Detalles:
• Workflow: build-and-deploy (build-and-deploy.yml)
• Run #3
• Evento: push
• Branch: master
• Commit: a1b2c3d4
• Título: Update README: Add Claude Code hooks feature
• Duración: 5m 23s
• Iniciado: 2025-10-12T14:30:05Z
• Finalizado: 2025-10-12T14:35:28Z
🔗 Ver logs completos:
https://gitea.nucleoriofrio.com/nucleo000/plantillaNuxtAuthentikProxy/actions/runs/123
```
**Si las Actions no están habilitadas:**
```
⚠️ Git push exitoso, pero las Gitea Actions NO están habilitadas en este repositorio.
📝 Para habilitar Actions:
1. Ve a: https://gitea.nucleoriofrio.com/nucleo000/plantillaNuxtAuthentikProxy/settings
2. Busca la sección 'Actions' o 'Workflows'
3. Activa las Actions
```
## Configuración Avanzada
### Cambiar el timeout
Edita `.claude/settings.local.json` y modifica el valor `timeout` (en segundos):
```json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/monitor-gitea-action.sh",
"timeout": 300 // 5 minutos en lugar de 10
}
]
}
]
}
}
```
### Cambiar el intervalo de polling
Edita `.claude/hooks/monitor-gitea-action.sh` y modifica:
```bash
POLL_INTERVAL=10 # Consultar cada 10 segundos (puedes cambiar a 5, 15, 30, etc.)
```
## Troubleshooting
### El hook no se activa
1. Verifica que el archivo de configuración es correcto: `cat .claude/settings.local.json`
2. Reinicia Claude Code para que recargue la configuración
3. Revisa los logs con `claude --debug`
### Error "falta GITEA_TOKEN"
El token no está configurado. Sigue los pasos de configuración arriba.
### Timeout: La action todavía está corriendo
La action tardó más de 10 minutos. Puedes:
- Aumentar el `timeout` en la configuración
- Verificar el estado manualmente en Gitea
- Optimizar tu Gitea Action para que sea más rápida
### El script no puede conectarse a la API
1. Verifica que puedes acceder a Gitea: `curl https://gitea.nucleoriofrio.com`
2. Verifica que el token es válido:
```bash
curl -H "Authorization: token $GITEA_TOKEN" \
https://gitea.nucleoriofrio.com/api/v1/repos/nucleo000/plantillaNuxtAuthentikProxy/actions/tasks?limit=1
```
## Desactivar el hook
Si quieres desactivar temporalmente el hook, comenta o elimina la sección `hooks` en `.claude/settings.local.json`.