Jenkins部署到Tomcat失败

Jenkins部署到Tomcat失败,tomcat,jenkins,groovy,continuous-integration,tomcat8,Tomcat,Jenkins,Groovy,Continuous Integration,Tomcat8,我目前正在学习和实现Jenkin的java web应用程序自动集成管道 我的计划是,一旦开发人员成功提交并推送他们的代码,管理员服务器上的Jenkins将检查代码,构建项目,停止当前运行的Tomcat,将项目部署到Tomcat,然后重新启动 出于测试目的,我目前正在本地机器上尝试一切,包括运行Tomcat和Jenkins。但是Jenkins正在运行自己的(通过执行命令“Java-jar Jenkins.war”)而不是使用tomcat 除了启动Tomcat之外,管道的一切都很好。 下面是tomc

我目前正在学习和实现Jenkin的java web应用程序自动集成管道

我的计划是,一旦开发人员成功提交并推送他们的代码,管理员服务器上的Jenkins将检查代码,构建项目,停止当前运行的Tomcat,将项目部署到Tomcat,然后重新启动

出于测试目的,我目前正在本地机器上尝试一切,包括运行Tomcat和Jenkins。但是Jenkins正在运行自己的(通过执行命令“Java-jar Jenkins.war”)而不是使用tomcat

除了启动Tomcat之外,管道的一切都很好。 下面是tomcat重启的管道代码片段

stage('Restart') {
        steps {
            echo 'Restarting Tomcat.....'
            sh ''' 
                cd ~/PATH-TO-Tomcat/apache-tomcat-8.0.44/bin
                ./startup.sh
            '''
        }
}    
如您所见,它只是转到tomcat目录并执行startup.sh脚本。但是,在执行重启阶段时,控制台日志文件中只记录消息“Tomcat started.”,但在与本地主机进行检查时,Tomcat根本没有启动

我试图通过使用终端执行命令来手动启动tomcat,它工作正常

请帮忙


谢谢

我在从Jenkins启动shell脚本时也遇到了这个问题

问题

问题是shell脚本是在Jenkins构建的范围内启动的。一旦停止构建,它的行为就像关闭正在运行脚本的终端一样。因此,当作业结束时,Tomcat停止

解决方案(种类)


尝试在后台启动Tomcat(),它将脚本与作业分离。或者,您可以将Tomcat安装为服务()并从Jenkins启动服务。

启动Tomcat后,使用sleep命令直到应用程序启动。

您是否尝试过启动Tomcat,例如$CATALINA_HOME/bin/startup.sh,假设CATALINA_HOME是defined@androisojavaswift你找到这个问题的解决办法了吗?我也面临同样的问题你能扩展你的功能吗?也许可以添加一些代码示例和文档,这样就可以将其视为一个好的答案。请看