JSOTO GAR
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
# Scripts de build & deploy — Menú MBS (Genero 6 / GAS)
|
||||||
|
|
||||||
|
Automatizan el flujo **fuente (Git) → GAR → GAS**. Reemplazan el viejo folder
|
||||||
|
compartido de binarios. Solo **una persona** (release manager, Jhonny) despliega a
|
||||||
|
`.251`/producción, siempre desde fuente ya pulled de Git.
|
||||||
|
|
||||||
|
## Máquinas
|
||||||
|
| Script | Dónde se corre | Qué hace |
|
||||||
|
|---|---|---|
|
||||||
|
| `build_mbs.cmd` | **PC con Genero Studio 6.00.03** (tiene `gsmake`) | `git pull` + compila el GAR → `PROYECTO\distbin\mbs.gar` |
|
||||||
|
| `deploy_mbs.cmd` | **Server `.251`** (consola donde corre `gasadmin`) | quita la versión anterior + despliega + habilita el GAR |
|
||||||
|
|
||||||
|
> `.251` **no tiene GST**, por eso el build va en una PC con GST y el deploy en el server.
|
||||||
|
|
||||||
|
## Flujo completo
|
||||||
|
1. **En tu PC** (con GST):
|
||||||
|
```
|
||||||
|
scripts\build_mbs.cmd
|
||||||
|
```
|
||||||
|
- Ajusta primero dentro del script: `REPO` (tu clon, ej. `C:\MBS`) y `GSMAKE` (ruta de tu GST).
|
||||||
|
- Produce `PROYECTO\distbin\mbs.gar`.
|
||||||
|
- (Opcional) descomenta `DEST` para que lo copie a un share del server.
|
||||||
|
|
||||||
|
2. **Lleva `mbs.gar` al server `.251`** (copia por share, o el medio que uses).
|
||||||
|
|
||||||
|
3. **En `.251`** (consola del GAS):
|
||||||
|
```
|
||||||
|
scripts\deploy_mbs.cmd C:\ruta\mbs.gar
|
||||||
|
```
|
||||||
|
- Hace: `disable` → `undeploy` → `clean-archives` → `deploy` → `enable`.
|
||||||
|
- Los mensajes *"Command failed / No archive to disable"* en el **primer** deploy son **normales** (no había versión previa).
|
||||||
|
|
||||||
|
4. **Prueba**: `http://192.168.40.251:6394/ua/r/Application`
|
||||||
|
(si reconstruiste con `BinaryName=MAINMENU`, la URL será `/ua/r/MAINMENU`).
|
||||||
|
|
||||||
|
## Notas
|
||||||
|
- El **nombre del archive** lo toma `deploy_mbs.cmd` del nombre del `.gar`
|
||||||
|
(`mbs.gar` → archive `mbs`). Si cambias el nombre del archivo, cambia el archive.
|
||||||
|
- El `.gar` **no se versiona en Git** (es artefacto). Se transfiere aparte.
|
||||||
|
- Si `gsmake` no arma el paquete, constrúyelo desde GST: clic derecho en el
|
||||||
|
paquete **`mbs` → Build** (también deja el `.gar` en `PROYECTO\distbin\`).
|
||||||
|
- **Recursos** (estilos `.4st`, imágenes): deben ir declarados como *Resources*
|
||||||
|
de la app en GST para que el GAR los empaquete. Si falta un `.4st`, el DVM
|
||||||
|
falla en runtime con `-8014 resource file ... can not be read`.
|
||||||
|
- Camino "one-click remoto" (a futuro): instalar **Genero Studio Server** en `.251`
|
||||||
|
y usar *Tools → Server Connections*; entonces GST despliega directo al GAS del
|
||||||
|
server. Por ahora, estos 2 scripts son el flujo estable.
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal EnableExtensions
|
||||||
|
REM ===========================================================================
|
||||||
|
REM build_mbs.cmd - Baja lo ultimo de Git y compila el GAR del menu MBS
|
||||||
|
REM
|
||||||
|
REM >>> CORRER EN UNA PC CON GENERO STUDIO 6.00.03 (tiene gsmake) <<<
|
||||||
|
REM
|
||||||
|
REM Salida: <REPO>\PROYECTO\distbin\mbs.gar
|
||||||
|
REM Luego ese .gar se lleva al server .251 y se corre deploy_mbs.cmd
|
||||||
|
REM ===========================================================================
|
||||||
|
|
||||||
|
REM --- AJUSTA estas 2 rutas a tu PC ---
|
||||||
|
set "REPO=C:\MBS"
|
||||||
|
set "GSMAKE=C:\Program Files\FourJs\Genero Studio603\gst\bin\gsmake.exe"
|
||||||
|
|
||||||
|
REM --- (normalmente no cambian) ---
|
||||||
|
set "PROJECT=%REPO%\PROYECTO\MBSerp_new3.4pw"
|
||||||
|
set "GAROUT=%REPO%\PROYECTO\distbin\mbs.gar"
|
||||||
|
|
||||||
|
REM --- (OPCIONAL) copiar el GAR a un destino que vea el server .251 ---
|
||||||
|
REM Ej: un share del server. Deja vacio para no copiar.
|
||||||
|
set "DEST="
|
||||||
|
REM set "DEST=\\192.168.40.251\deploy\mbs.gar"
|
||||||
|
|
||||||
|
if not exist "%GSMAKE%" (
|
||||||
|
echo [ERROR] No existe gsmake en: "%GSMAKE%"
|
||||||
|
echo Corrige la variable GSMAKE (ruta de tu Genero Studio).
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
if not exist "%PROJECT%" (
|
||||||
|
echo [ERROR] No existe el proyecto: "%PROJECT%"
|
||||||
|
echo Corrige REPO o el nombre del .4pw.
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
echo --- 1) git pull ---
|
||||||
|
pushd "%REPO%" || (echo [ERROR] No existe %REPO% & exit /b 1)
|
||||||
|
git pull
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo --- 2) Compilando GAR con gsmake ---
|
||||||
|
"%GSMAKE%" "%PROJECT%"
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo [ERROR] gsmake fallo. Abre el proyecto en GST y revisa los errores de build.
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
if not exist "%GAROUT%" (
|
||||||
|
echo [ERROR] No se genero el GAR esperado: %GAROUT%
|
||||||
|
echo Si gsmake no arma el paquete, construyelo desde GST:
|
||||||
|
echo clic derecho en el paquete "mbs" -^> Build
|
||||||
|
echo (tambien deja el .gar en PROYECTO\distbin\)
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
echo [OK] GAR generado: %GAROUT%
|
||||||
|
|
||||||
|
if defined DEST (
|
||||||
|
echo --- 3) Copiando a %DEST% ---
|
||||||
|
copy /Y "%GAROUT%" "%DEST%"
|
||||||
|
if errorlevel 1 echo [AVISO] No se pudo copiar a %DEST% (revisa el share/permiso^).
|
||||||
|
)
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo LISTO.
|
||||||
|
echo GAR: %GAROUT%
|
||||||
|
echo Ahora en el server .251: deploy_mbs.cmd "ruta\mbs.gar"
|
||||||
|
endlocal
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal EnableExtensions
|
||||||
|
REM ===========================================================================
|
||||||
|
REM deploy_mbs.cmd - Despliega el GAR del menu MBS en el GAS de ESTE server
|
||||||
|
REM
|
||||||
|
REM >>> CORRER EN EL SERVER (.251), en la consola donde funciona 'gasadmin' <<<
|
||||||
|
REM
|
||||||
|
REM Uso: deploy_mbs.cmd [ruta\al\mbs.gar]
|
||||||
|
REM Si no pasas ruta, busca mbs.gar en la carpeta actual.
|
||||||
|
REM
|
||||||
|
REM El nombre del ARCHIVE se toma del nombre del .gar (mbs.gar -> archive "mbs").
|
||||||
|
REM ===========================================================================
|
||||||
|
|
||||||
|
set "GAR=%~1"
|
||||||
|
if "%GAR%"=="" set "GAR=mbs.gar"
|
||||||
|
set "HOST=192.168.40.251"
|
||||||
|
set "PORT=6394"
|
||||||
|
|
||||||
|
if not exist "%GAR%" (
|
||||||
|
echo [ERROR] No se encuentra el GAR: "%GAR%"
|
||||||
|
echo Uso: %~nx0 [ruta\al\mbs.gar]
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
REM --- nombre del archive = nombre del archivo sin extension ---
|
||||||
|
for %%F in ("%GAR%") do set "ARCHIVE=%%~nF"
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo ============================================================
|
||||||
|
echo DEPLOY MBS GAR="%GAR%" ARCHIVE=%ARCHIVE%
|
||||||
|
echo ============================================================
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo --- 1) Estado actual ---
|
||||||
|
gasadmin gar --list-archives
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo --- 2) Quitando version anterior (los "Command failed / No archive" aqui son NORMALES en el 1er deploy) ---
|
||||||
|
gasadmin gar --disable-archive %ARCHIVE%
|
||||||
|
gasadmin gar --undeploy-archive %ARCHIVE% -y
|
||||||
|
gasadmin gar --clean-archives
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo --- 3) Desplegando nueva version ---
|
||||||
|
gasadmin gar --deploy-archive "%GAR%" -y
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo [ERROR] Fallo el deploy del GAR.
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo --- 4) Habilitando ---
|
||||||
|
gasadmin gar --enable-archive %ARCHIVE%
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo [ERROR] Fallo al habilitar el archive.
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo --- 5) Estado final ---
|
||||||
|
gasadmin gar --list-archives
|
||||||
|
|
||||||
|
echo(
|
||||||
|
echo ============================================================
|
||||||
|
echo LISTO. Abre en el navegador:
|
||||||
|
echo http://%HOST%:%PORT%/ua/r/Application
|
||||||
|
echo ============================================================
|
||||||
|
echo Nota: si reconstruiste con BinaryName=MAINMENU, la app se
|
||||||
|
echo llamara MAINMENU y la URL sera /ua/r/MAINMENU
|
||||||
|
echo(
|
||||||
|
endlocal
|
||||||
Reference in New Issue
Block a user