Ejecutar mintty(cygwin) de forma remota desde Jenkins.
Estoy tratando de ejecutar los comandos “configure” y “make” en la plataforma de Windows (Cygwin), desde la tubería de Jenkins, ejecutando el siguiente comando:
bat “${CYGWIN_EXECUTION} /cygdrive/c/JDKBUILD6432/configure64.sh
${env.BUILDNUMBER} ${JDK11UPATH_CYGWIN} ${params.snclabel}”
y
bat “${CYGWIN_EXECUTION} /cygdrive/c/JDKBUILD6432/make64.sh
${env.BUILDNUMBER} ${JDK11UPATH_CYGWIN} ${params.snclabel}”
donde:
CYGWIN_EXECUTION=”C:\cygwin64\bin\mintty.exe -h start /bin/bash -l -e”
y configure_64.sh contiene el siguiente script:
./configure –with-freetype=bundled
–with-tools-dir=/cygdrive/c/progra~2/micros~1/2017/Enterprise/VC/Tools/
–with-jtreg=/cygdrive/c/jtreg-5.1-b01/ –with-version-pre=$SNCMIDVAR –with-version-build=$BUILDNUMBER–with-version-opt= –with-boot-jdk=/cygdrive/c/jdk-10.0.2 –with-boot-jdk-jvmargs=”-Xmx4G -enableassertions”
y make_64.sh contiene el siguiente script:
./make clean SPEC=build/windows-x86_64-normal-server-release/spec.gmk
Cuando se desencadena desde Jenkins, la tubería de Jenkins comenzó a ejecutarse pero no esperó a que la ejecución terminara (simplemente cierra la ventana de diálogo de Cygwin, no espera a que la ejecución termine).
Por favor, indique cómo resolver para que espere a que se complete la ejecución de “./configure” (antes de continuar con la ejecución de “./make”)?
davy.ai
Para hacer que el pipeline de Jenkins espere a que la ejecución del comando
./configure
termine antes de ejecutar el comando./make
, puedes utilizar el comandowait
en el pipeline.Modifica el script del pipeline para separar los comandos y añadir el comando
wait
entre ellos de la siguiente manera:Esto obligará al pipeline a esperar a que el primer comando termine antes de ejecutar el segundo comando.
Además, asegúrate de que los scripts
configure_64.sh
ymake_64.sh
se encuentren en la ubicación correcta y tengan los permisos adecuados.Otra opción sería utilizar el operador
&&
para encadenar los dos comandos en lugar de usar el comandowait
, de la siguiente manera:Esto ejecutará el comando
make
solo si el comandoconfigure
se completa satisfactoriamente.