AgentSkillsCN

deploy-ssh

适用于在 SGRRHH 中创建或修改 Blazor 组件时使用。为 SGRRHH 的 UI 组件、Razor 页面,或 CSS 样式提供医院级的 UI 风格规则。

SKILL.md
--- frontmatter
name: deploy-ssh
description: Proceso de deploy de SGRRHH al servidor remoto vía SSH/SMB. Usar cuando el usuario pida desplegar, actualizar el servidor o verificar producción.

Deploy SSH - SGRRHH

Script Principal

Ubicación: SGRRHH.Local/scripts/Deploy-ToServer.ps1

Configuración del Servidor

PropiedadValor
Host192.168.1.248
Usuario SSHequipo1
Ruta RemotaC:\SGRRHH
Share SMB\\192.168.1.248\SGRRHH
ServicioSGRRHH_Local

Archivos PROTEGIDOS

[!CAUTION] Estos archivos/carpetas NUNCA se sobrescriben ni eliminan:

RutaContenido
Data/Base de datos SQLite (sgrrhh.db)
certs/Certificados SSL (localhost+2.p12)
logs/Logs de la aplicación
backups/Backups locales
appsettings.jsonConfiguración local del servidor
appsettings.Development.jsonConfiguración desarrollo

Comandos de Deploy

Deploy Incremental (Recomendado)

powershell
cd c:\Users\evert\Documents\rrhh\SGRRHH.Local
.\scripts\Deploy-ToServer.ps1
  • Compila en modo Release
  • Sincroniza solo archivos modificados
  • Reinicia el servicio automáticamente

Deploy sin Recompilar

powershell
.\scripts\Deploy-ToServer.ps1 -SkipBuild

Usa el build existente en publish-ssh/

Deploy Completo (Full Sync)

powershell
.\scripts\Deploy-ToServer.ps1 -FullSync

[!WARNING] Full Sync puede eliminar archivos extras en el servidor. Usar con precaución.

Deploy con Base de Datos

powershell
.\scripts\Deploy-ToServer.ps1 -IncludeDatabase

Copia la BD local al servidor (sobrescribe la del servidor)

Otros Scripts Disponibles

ScriptFunción
Deploy-Production.ps1Deploy local (sin SSH)
Backup-Database.ps1Backup de la BD
Restore-Backup.ps1Restaurar backup
AutoUpdate-Service.ps1Actualización automática

Verificación Post-Deploy

Verificar conectividad SSH

powershell
ssh equipo1@192.168.1.248 "echo OK"

Verificar estado del servicio

powershell
ssh equipo1@192.168.1.248 "sc query SGRRHH_Local"

Ver logs recientes

powershell
ssh equipo1@192.168.1.248 "type C:\SGRRHH\logs\*.log"

Reiniciar servicio manualmente

powershell
ssh equipo1@192.168.1.248 "net stop SGRRHH_Local && net start SGRRHH_Local"

Servicio Windows (NSSM)

  • Nombre: SGRRHH_Local
  • Gestionado con: nssm
  • Logs: C:\SGRRHH\logs con rotación (1 MB / 24h)
  • Ejecutable: C:\SGRRHH\SGRRHH.Local.Server.exe

Accesos Directos en Servidor

AccesoFunción
SGRRHH - ConsolaEjecución con ventana y logs en vivo
SGRRHH - Ver LogsTail del log actual

Certificado SSL

Ruta: C:\SGRRHH\certs\localhost+2.p12

Si falta el certificado, copiar antes de iniciar:

powershell
scp certs/localhost+2.p12 equipo1@192.168.1.248:C:/SGRRHH/certs/

Flujo de Deploy Completo

code
1. Compilar localmente (Release, self-contained, win-x64)
2. Detener servicio en servidor
3. Sincronizar archivos vía Robocopy/SMB
4. Preservar Data/, certs/, logs/
5. Iniciar servicio
6. Verificar salud de la aplicación

Troubleshooting

Error de esquema (columnas faltantes)

La DB no se migra automáticamente:

  1. Respaldar la DB actual
  2. Eliminar archivos .wal y .shm
  3. Copiar la DB válida

Error de conexión SMB

powershell
net use \\192.168.1.248\SGRRHH /user:equipo1