¿Cómo ejecutar la aplicación spring-boot usando el corredor GitLab?

Tengo una aplicación maven de arranque de primavera que he estado ejecutando localmente como:

mvn spring-boot:run

Quiero poder ejecutar esto en GitLab runner para que cuando presione el código para masterizar, copie automáticamente lo último allí y ejecute la aplicación.

Mi corredor GitLab está configurado en modo shell en este momento, y tengo dentro del .gitlab-ci.ymlarchivo una tarea de implementación que se ejecuta solo eso:

mvn spring-boot:run

El problema con el que me estoy encontrando es después de que se inicia la aplicación, puedo ver que se está ejecutando ... pero nunca se muestra como exitosa o completada. Simplemente se cuelga allí (¿porque el terminal todavía se está ejecutando cuando ejecuta ese comando?)

La pregunta es, ¿hay un conjunto alternativo de comandos que debería estar ejecutando para que mi aplicación Spring-boot se actualice y ejecute cada vez que presione para dominar? ¿Qué es lo que debería poner en mi gitlab-ci.yml(u otros archivos)? Tenga en cuenta que no estoy usando docker o kubernetes ... solo shell.

Ejemplo de gitlab CI:

run-deploy:
  stage: deploy
  script:
    - mvn $MAVEN_CLI_OPTS spring-boot:run 

Intentar nohup con eso también falla. - nohup mvn $MAVEN_CLI_OPTS spring-boot:run &

Respuesta 1

En mi proyecto que estoy usando tanto Hibernate como Jersey, hay un conflicto de biblioteca con Hibernate, Jersey. Desde el siguiente enlace me aparece este http: //www.hildeberto.com/2008/05/hibernate-and-jersey -...

Mi aplicación tiene la siguiente arquitectura: tengo una cantidad variable de clases que implementan una interfaz específica en una biblioteca. (Todas estas clases implementan exactamente la misma interfaz). Estos son ...

Estoy buscando un selector de fecha Swing de Java que específicamente le permita navegar por la vista del calendario usando el teclado. Solo he encontrado JXDatePicker de SwingX, 'DatePicker' y un par más que ...

Encontré un código para calcular el nivel de sonido del micrófono (RMS): public int CalculateRMSLevel (byte [] audioData) {// audioData podría ser datos almacenados en una línea de datos larga lSum = 0; ...