Я пытаюсь создать задание Jenkins для отключения tomcat, обновления войны и повторного запуска tomcat. Я работаю с Maven, чтобы получить новую войну. Когда я запускаю maven прямо с сервера, процесс maven завершается, а процесс Tomcat остается живым. Но по какой-то причине, когда я пытаюсь выполнить maven из Jenkins, процесс tomcat умирает вместе с Jenkins.
Я пытался выполнить эту задачу с помощью другого инструмента, но это приводило к тому же поведению.
Ниже мой нынешний мавен; хотел бы получить помощь или получить другое предложение о том, как его реализовать.
<plugin>
<groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
<artifactId>maven-antrun-extended-plugin</artifactId>
<version>1.8</version>
<dependencies>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-optional</artifactId>
<version>1.5.3-1</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>20020829</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>promote-from-existing-env-ant</id>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<property environment="env"/>
<exec
dir="${tomcat-path}bin"
executable="${tomcat-path}bin/shutdown.sh"
failonerror="false">
<env key="PATH" path="${env.PATH}:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"/>
</exec>
<delete includeEmptyDirs="true" dir="${tomcat-path}webapps/${war.name}" />
<delete includeEmptyDirs="true" file="${tomcat-path}webapps/${war.name}.war" />
<copy todir="${tomcat-path}webapps" overwrite="true" verbose="true">
<fileset dir="${project.build.directory}/war/"></fileset>
</copy>
<exec
dir="${tomcat-path}bin"
executable="${tomcat-path}bin/startup.sh"
failonerror="false" >
<env key="PATH" path="${env.PATH}:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"/>
<env key="ANTRUN_NOHUP" value="true" />
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>