当前位置: 首页 > 面试题库 >

我应该使用Jenkins重量级或轻量级执行器进行通知吗?

穆智刚
2023-03-14
问题内容

在我的Jenkins管道中,我使用Slack集成来通知用户的步骤很少。

将通知代码编写在node块中以使用重量级执行程序还是将其留在外面以使用flyweight执行程序是一种好习惯?

根据文档:

每个管道构建本身都使用flyweight执行程序在主数据库上运行,这是一个无计数的插槽,假定不会占用任何重要的计算能力。

该执行程序代表实际的Groovy脚本,该脚本几乎总是空闲的,等待步骤完成。

轻量级执行器始终可用。

读完这篇文章后,我仍然不清楚,使用重量级或轻量级执行程序的通知是否被视为一种好习惯


问题答案:

大多数步骤会让您知道它们需要一个(重量级)执行程序插槽(节点/代理)-请参阅Daniels的答案。

请记住,执行程序(重量级)是Jenkins防止Jenkins运行的机器过载的一种方式。通过限制执行程序的数量,您可以限制Jenkins正在并行执行的任务的数量,因此也就限制了所需的资源。

对于通知,最好使用轻量级的执行程序(如果它在没有节点的情况下运行),因为它不需要詹金斯机器的大量资源。这仍然取决于您的用例,如果使用常规或轻量级执行程序执行通知,那么到底有多重要?如果仅花费几毫秒/秒的时间发送此通知,并且您(平均)有足够的免费执行程序,则使用节点aka执行程序也不会受到损害。这样一来,为整个管道使用一个节点/代理通常会更容易。

另一方面,请确保您所使用的管道不会永远阻止执行程序。例如,如果您使用输入步骤,则管道因此需要长时间等待用户输入。在这里,轻量级执行程序的使用很重要。网络请求和其他可能长时间运行的任务的超时配置也有助于防止执行程序被阻塞。

希望这有助于您提供更多指导。



 类似资料:
  • Jenkins Pipeline插件有一个称为“轻量级签出”的功能,其中主服务器仅从repo中提取Jenkinsfile,而不是整个repo。配置屏幕中有一个相应的复选框。我想在多分支管道中进行轻量级签出,但我在多分支配置屏幕中没有看到复选框。有什么想法如何实现这一点吗?我注意到一些关闭的问题表明此功能可用,但我无法找到任何有关如何实现它的细节。 相关资料: https://issues.jenk

  • 问题内容: 我正在将Jenkins Pipeline与声明性语法一起使用,目前处于以下阶段: 准备 构建(两组并行的步骤) 测试(也是两组平行的步骤) 询问是否/在哪里部署 部署 对于步骤1、2、3和5,我需要和代理(执行者),因为它们在工作区上进行实际工作。对于步骤4,我不需要一个,并且我不想在等待用户输入时阻止我可用的执行程序。对于经典的脚本化语法,这似乎被称为“轻量级”执行器或“轻量级”执行

  • 问题内容: 我应该使用量角器或业力进行端到端测试吗? Angular-seed使用Protractor / Selenium WebDriver进行E2E,但是angular-phonecat教程使用业力。 我读到我应该将Karma用于单元测试,将Protractor用于E2E,这似乎还不错,但我想我想在这里征询其他开发人员的意见。 问题答案: AngularJS团队建议使用Protractor,

  • 我正在使用声明性语法的Jenkins Pipeline,目前有以下阶段: 准备 构建(两组平行的步骤) 测试(也是两组平行的步骤) 询问是否/在何处部署 部署 对于步骤1、2、3和5,我需要和代理(一个执行者),因为他们在工作区上做实际工作。对于步骤4,我不需要一个,并且我不希望在等待用户输入时阻止可用的执行器。对于经典的脚本语法,这似乎被称为“flyweight”或“lightweight”执行

  • 问题内容: JPanel和JFrame有什么区别,以及与轻量级,重量级的关系? 问题答案: JPanel是允许将多个UI组件放在一起的容器。JFrame是使用Swing编写的窗口。 所有的Swing组件都是所谓的“轻型”组件,因为它们是用Java编写的。例如,如果您运行Swing应用程序并尝试使用UI分析工具(例如Windows中的WinSpy)对其进行分析,则只会看到一个元素:窗口(JFrame

  • 问题内容: 我目前在一个网站上工作,该网站必须存在于内存可用性非常低的VM上(目前被告知要达到512mb)。不幸的是,至少在不久的将来,数据库和Web应用程序必须是同一台服务器。 现在,我已经在这里通读了一些问题,并尝试进行自己的研究,但是这里有很多选择。从本质上讲,什么是可以安装的轻巧的数据库服务器?SQL或NoSQL并不重要;它不会占用大量数据库资源,但我现在不想随我现在选择的内容而受到限制。