ANTRUN_NOHUP работает с Maven, но не работает, когда я выполняю от Дженкинса - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь создать задание 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>

1 Ответ

0 голосов
/ 20 января 2020

Наконец получил мой ответ, пришлось добавить BUILD_ID = dontKillMe ./catalina restart

, как описано здесь

Перезапуск Tomcat после успешного развертывания с Jenkins

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...