如何通过 Jenkins 启动服务器而不在 Jenkins 控制台中输出服务器跟踪?

如何通过 Jenkins 启动服务器而不在 Jenkins 控制台中输出服务器跟踪?

我编写了一个 Windows 批处理脚本,用于通过 Jenkins 启动 Apache Tomcat 服务器。当服务器开始运行时,服务器跟踪显示在 Jenkins 控制台中。但突然间,服务器窗口关闭,显示处理泄露的文件描述符在 Jenkins 控制台中。为什么会发生这种情况?有没有办法运行批处理脚本而不在 Jenkins 控制台中输出服务器跟踪?

答案1

  1. 要静音服务器跟踪,您可以将输出从 bat 重定向到 NUL。示例:your.bat > NUL 2>&1 您可以在此处找到有关在 Windows 上重定向输出的更多信息: http://www.robvanderwoude.com/battech_redirection.php

  2. Jenkins 的第二个问题似乎是预期的行为。您可以在官方 Jenkins Wiki 中找到更多解释,网址为:https://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build注意蓝色框中的信息 - 这就是您收到的错误。

我假设您要么尝试使用构建操作(执行 Windows 批处理命令)启动服务器,要么尝试使用构建后步骤启动服务器。这使其成为构建不可或缺的一部分,从而阻止其完成。为此,您应该尝试使用 Jenkins 的批处理任务插件,因为它不会阻止您的构建。您的构建将成功完成,任务将单独运行。

相关内容