首页 > 解决方案 > Jenkins 工作区是在 master 还是 worker 上?

问题描述

谁来实际克隆项目,是主节点还是代理节点?如果是master,那么agent节点实际上是如何执行job的。如果是代理节点,我们如何在浏览器中查看工作区?

当人们问“工作空间在哪里”时,答案通常是路径,但我更感兴趣的是路径在哪里,在主节点还是代理节点?或者两者兼而有之?

编辑1

将术语与此对齐:https ://jenkins.io/doc/book/glossary/以避免混淆。

在 Jenkins 设置中,所有机器都被视为节点。主节点连接到一个或多个代理节点。执行器可以在主节点或代理节点上运行。

在我的场景中,没有执行程序在主服务器上运行。它们仅在代理节点上运行。

标签: jenkins

解决方案


答案是:视情况而定!

首先,虽然这不是 IMO 的好习惯,但有些安装让 master 成为实际的 worker 并运行作业。在这种情况下,工作区将位于主服务器上。

如果您将 master 配置为不接受作业,则仍有可能在 master 上创建工作空间。一个很好的例子是当您的工作是“来自 SCM 的管道脚本”时。在这种情况下,master 将为作业创建一个工作空间,克隆目标 repo,读取管道,并在任何目标从属设备上启动所需的作业,创建一个工作空间来自己运行操作。如果管道针对多个从站,则每个从站上都会有一个工作区。

在简单的情况下(例如 maven 或 freestyle 工作),工作区将仅位于目标从站上。


推荐阅读