【问题标题】:Jenkins Build Is Hanging詹金斯构建挂起
【发布时间】:2016-07-16 14:37:47
【问题描述】:

我们正在使用 jenkins 进行持续集成。

但是现在,构建作业在运行几秒钟后没有得到执行,同时它也根本没有显示任何错误消息(在它的 Web 控制台中没有收到任何错误消息)。好像构建过程挂了很长时间。

.

这是 Web 控制台和 jenkins 日志文件的屏幕截图 (/var/log/jenkins.log)

我刚刚浏览了 jenkins -> 管理 jenkins -> 管理节点部分,在这里没有发现任何磁盘空间问题:目前主节点中有 2 个执行程序。

你以前遇到过这种问题吗?这个问题的原因是什么?是由于任何磁盘空间/内存问题吗?

【问题讨论】:

    标签: jenkins continuous-integration automated-tests robotframework


    【解决方案1】:

    就我而言,我发现我从 Jenkins 启动的批处理脚本是问题所在。

    我正在使用 Katalon Studio 运行一组测试用例,发现 '-consoleLog' 标志导致作业挂起。删除标志后,我可以看到测试用例能够打印到 Jenkins 控制台输出。

    示例:

    katalon -noSplash -runMode=console -consoleLog
    -projectPath="%USERPROFILE%\repository\katalon-testing\test-project\test-project-one.prj" 
    -retry=0 -testSuitePath="Test Suites/test-project/test-project-one" 
    -executionProfile="uat" -browserType="Chrome"
    

    示例没有:

    katalon -noSplash -runMode=console 
    -projectPath="%USERPROFILE%\repository\katalon-testing\test-project\test-project-one.prj" 
    -retry=0 -testSuitePath="Test Suites/test-project/test-project-one" 
    -executionProfile="uat" -browserType="Chrome"
    

    在解决问题之前,我很困惑,因为我的测试正在服务器上通过,只是 Jenkins 无法看到它们通过,所以它会挂起。

    我假设当 Jenkins 在控制台中看到输出时,它能够按预期停止作业。

    【讨论】:

      【解决方案2】:

      根据我的经验,Jenkins 构建卡住的原因之一是,您从您的工作调用另一个工作并且没有提供它的所有参数,或者您的一个步骤使其卡住。

      我的建议是采用淘汰策略。尝试执行一个简单的测试作业,如果它通过了,我们知道问题出在你的作业上。如果不是,我们会探索性地处理一些基础设施问题。如果你得出的结论是你的问题出在你的工作上,试着分开每一步,试着弄清楚是哪一步让你卡住了。然后向其中添加一些日志记录,以便您可以更准确地指出问题。当您获得更多详细信息时,请告诉我,我会尽我所能提供帮助。

      【讨论】:

      • 我创建了这个作业来执行用机器人框架编写的自动化测试脚本。这个特定的作业将尝试执行 10 个测试用例(我已经单独验证了每个测试脚本并且从终端工作正常)。这个作业不是根本调用任何其他构建作业或不接受来自用户的任何参数!另一件事,同样的工作直到上周都运行良好..!它最近开始了这种行为。当我开始这个构建作业时,它将执行 3 或 4 个测试用例而不会出现任何问题,并且会在执行剩余的脚本之前挂起。
      • 运行了很长时间,并没有自行停止,也没有抛出任何错误信息。我添加了詹金斯日志文件的截图。看到一个类似的问题here .. 这个答案也对我不起作用。还发现了与构建挂起问题相关的类似文档here。我正在使用 jenkins v. 1.625。目前有 2 个与主节点关联的执行器。
      • 尝试通过Java web start而不是windows服务来启动jenkins slave。
      • 现在我 将 jenkins 作为服务运行。我已经编辑了配置文件 ( /etc/sysconfig/jenkins ) & 将用户更改为 jenkins !因此,如果我不将 jenkins 作为服务启动,(这意味着我必须以不同的用户身份启动 jenkins)我将丢失所有这些当前的构建作业和随之创建的相关数据.. ??
      • 我的错,我以为你在使用 Jenkins 奴隶。听起来您的工作有问题,也许它取决于网络上不再存在的其他资源?尝试执行一个只回显一些输出的简单作业。如果可行,请尝试手动执行此作业,并告知我们是否通过。
      猜你喜欢
      • 1970-01-01
      • 2020-07-04
      • 2014-07-18
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多