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