当前位置: 首页 > 知识库问答 >
问题:

詹金斯管道恢复但什么也没发生

佴淮晨
2023-03-14

我们有一个带有几个阶段的詹金斯管道(管道作为代码)。这些阶段中的一个阶段创建~40-50个下游作业,并以并行步骤启动它们。不幸的是,我们的詹金斯大师每晚都重启。重新启动后,队列中的每个作业都将丢失,当前运行的下游作业将停止,并出现错误。在重新连接子节点之后,管道处于resume状态(=>控制台输出:resuming build),但是什么也不会发生。

现在我有以下问题:

  • 当管道试图恢复时,具体会发生什么?管道是否再次从阶段1开始?
  • 是否可以重新请求之前在队列中的下游作业?

共有1个答案

胥博文
2023-03-14
options {
  disableResume()
}

作为恢复的解决方案-使用一些“队列”检查器。例如:

  1. 对于每个构建请求,在某个文件夹中创建一个唯一的命名为JSON/YAML文件(构建要启动的配置),您的主要工作将检查该文件是否存在。
  2. 如果找到这样的文件-启动主作业(配置为“不允许并发构建”)。为作业设定一些超时时间
  3. 在主作业的启动结束时-删除文件...

或者在AWS中使用一些SQS队列...

 类似资料:
  • 问题内容: 已解决 :感谢S.Richmond的以下答复我需要取消所有类型的存储映射,这意味着将变量和使用后作废。 附加 :搜索此错误的人员可能有兴趣使用Jenkins管道步骤- 在此处查找更多信息。 我正在尝试使用Jenkins Pipeline从用户那里获取输入,该输入作为json字符串传递给作业。管道然后使用隔离器对此进行解析,然后选择重要信息。然后,它将使用该信息与不同的作业参数并行运行1

  • 下面是我简单的jenkins pipeline groovy脚本,它将用这两个阶段和我们想要构建的作业创建一个管道,我希望在job configuration下的脚本中每次都更新用于构建和代码分析的作业名,方法是从用户界面中获取数据,用户将使用Eclipse提供构建作业名和代码分析作业名- jenkinsfile脚本:-

  • 问题内容: 我们有几个Java项目。每个项目都有自己的交付管道。 所有管道都具有以下共同的步骤(简化): 建立项目 发布项目 部署到测试环境 部署到生产环境 项目管道仅在项目特定的属性(例如服务名称或测试和生产环境的IP地址)上有所不同。 问题是:我们如何避免所有项目都有共同之处?Jenkins的“管道作为代码”是否提供类似管道模板的内容? 我可以想象一个模板将在我们的项目管道中节省很多冗余代码/

  • 问题内容: 我在中定义了以下步骤。 我可以看到这是在控制台上还原软件包,但是一旦开始构建,该解决方案中的所有项目都将失败,并出现以下错误。 错误: “ C:\ Program Files \ dotnet \ sdk \ 2.1.402 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.PackageDependencyResolution.targ

  • 问题内容: 我已经使用Jenkins为我的node js应用程序创建了CI管道。我的管道包括诸如构建,单元测试,集成测试,代码分析等工作。我知道默认情况下,即使一个测试用例失败,构建也会失败。 问题答案: 您的单元测试脚本将需要处理数学和逻辑,以确定失败的测试百分比足以使整个工作失败。然后,您的单元测试脚本可以返回通过(零)或失败(其他任何结果),詹金斯将相应地标记构建。

  • 问题内容: 这是我要执行的Jenkins管道。我正在关注本教程: 但是作业失败,并显示以下消息。 有人可以帮我解决为什么失败了。 问题答案: 您需要在阶段声明之后添加一个step块。