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

jenkins管道:代理vs节点?

岳晟
2023-03-14
问题内容

詹金斯管道中的 代理节点 之间有什么区别?

我发现了这些定义:

  • node:管道执行的大多数工作是在一个或多个声明的节点步骤的上下文中完成的。
  • agent:agent指令指定整个管道或特定阶段将在Jenkins环境中执行的位置,具体取决于agent指令的放置位置。

因此,两者都用于执行管道步骤。但是什么时候使用哪个呢?


问题答案:

简单的答案是, 代理 用于 声明式 管道, 节点 用于 脚本式 管道。

在声明性管道中, agent 指令用于指定要在其上执行作业/任务的代理/从属。该指令仅允许您指定要在何处执行任务,哪个代理,从属,标签或泊坞映像。

另一方面,在脚本化管道中, 节点 步骤可用于在特定代理,标签,从属上执行脚本/步骤。所述 节点
步骤任选地取剂或标记名称,然后用一个代码闭合待该节点上执行。

声明性和脚本化管道(根据评论进行编辑):

  • 声明性管道 是管道DSL的新扩展(基本上是只有一步的管道脚本,带有参数的管道步骤(称为指令),这些指令应遵循特定的语法。这种新格式的要点是更严格,因此对于管道新手来说应该更容易,允许图形编辑等等。
  • 脚本化管道 是高级需求的后备。


 类似资料:
  • 问题内容: 我们有一个Jenkinsfile,它使用docker插件在给定容器内运行脚本。对于某些图像,此方法工作正常,但对于其他图像,则立即失败,返回-1退出代码。我们已将错误简化为一个简单的错误。这是Jenkinsfile: 这是詹金斯的输出 有趣的是,如果睡眠时间少于1秒,则该时间过去了(但120秒睡眠在许多其他图像上也可以正常工作)。 作为参考,这是一个有效的jessie图像,一个无效的j

  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • 问题内容: 我创建了一个新的詹金斯管道。(当前)使用单个名为的布尔选项对管道进行参数化。我的管道脚本是: 当我手动创建带有选中项的项目时,将按预期回显“ true”。但是,环境变量列表未显示。 我能够显示是否将呼叫包装在一个块中: 我将拥有比这更多的参数,因此不需要单独指定每个参数。 有没有办法将所有构建参数传送到节点的环境? 问题答案: 关键是,在管道脚本中,作业参数不会像常规作业一样自动注入到

  • 问题内容: 在我的jenkins管道项目中,我可以从git fine中检出代码…但是我们需要做一些git checkins,而且显然没有缓存凭据。 这是示例输出: 有人对此有很好的解决方案吗? 谢谢 问题答案: 答案是使用强大的jenkins插件: http://getmesh.io/Blog/Jenkins+2+Pipeline+101 该插件为git访问注入SSH_AUTH_SOCK环境变量

  • 作为jenkins-pipeline-syntax-for-p4sync的延续,我无法让“轮询SCM”选项用于我的管道作业。以下是我的配置: "Poll SCM"被选中并设置为每10分钟轮询一次 管道脚本包含以下内容:

  • 我试图在jenkins管道中的不同节点上运行不同的阶段,比如第一阶段是签出,第二阶段是构建,第三阶段是单元测试。例如: 如果我尝试这样做,我的问题是如果我在Linux1节点中签出代码,那么当签出的代码在node1中时,为什么其他阶段可以在不同的节点中运行。 代码将如何分布,如果我的理解不正确,我如何实现并行,并确保每个阶段都可以并行并减少时间。 如果可能,请推荐任何用于编写Jenkins管道的gr