Otra posibilidad es ejecutar directamente comandos batch de Windows en lugar de usar el "RAD Studio Plugin". En algunos casos puede dar cierta flexibilidad, sobre todo si se maneja bien este aspecto
Jenkins permite ejecutar directamente archivos .bat; como siempre, lo mas indicado es que el susodicho este en nuestro workspace y asi es posible referenciarlo directamente.
En este ejemplo voy a crear dos archivos bat:
CLEAN.bat -- borra los .dcu, .exe, __history, y similares
BUILD.bat -- ejecuta CLEAN y luego compila
CLEAN.bat
Código:
@echo off
echo Cleaning...
del /f /q /s *.exe
del /f /q /s *.bak
del /f /q /s *.dcu
del /f /q /s *.ddp
del /f /q /s *.~*
del /f /q /s *.local
del /f /q /s *.identcache
del /f /q /s *.tvsconfig
del /f /q /s *.bpl
del /f /q /s *.cbk
del /f /q /s *.dcp
del /f /q /s *.dsk
del /f /q /s *.o
del /f /q /s *.rsm
del /f /q /s *.skincfg
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d __history') do (
rd /s /q "%%i"
)
if "%1"=="" goto :eof
En realidad este script es tomado prestado del framework Spring4D
http://spring4d.org/. Dicho sea de paso aprovecho para decir que es genial y que pegen un vistazo, algun dia me armaré de valor y hare un post sobre esto
Y este es mi
BUILD.bat:
Código:
call CLEAN.bat
echo Start Build...
call "C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin\rsvars.bat"
msbuild /verbosity:detailed Proyecto.dproj
El truco esta en llamar al rsvars.bat correcto de acuerdo a nuestra instalacion de Delphi. Lo correcto seria usar alguna llamada API o variables de entorno para obtener la ruta tal y como menciona
mamcx y no hacerlo de forma chapucera a como lo hice yo, pero lo dejo como ejercicio para el lector
La configuracion en Jenkins es simplemente, en la seccion de Ejecutar, seleccionar "Execute Windows batch command" y en los argumentos simplemente ingresamos la ruta a BUILD.bat
En mi caso como lo tengo en la raiz del workspace simplemente deje "BUILD.bat" y listo
Saludos