jenkins - Jenkins 工作区是在 master 还是 worker 上?
问题描述
谁来实际克隆项目,是主节点还是代理节点?如果是master,那么agent节点实际上是如何执行job的。如果是代理节点,我们如何在浏览器中查看工作区?
当人们问“工作空间在哪里”时,答案通常是路径,但我更感兴趣的是路径在哪里,在主节点还是代理节点?或者两者兼而有之?
编辑1
将术语与此对齐:https ://jenkins.io/doc/book/glossary/以避免混淆。
在 Jenkins 设置中,所有机器都被视为节点。主节点连接到一个或多个代理节点。执行器可以在主节点或代理节点上运行。
在我的场景中,没有执行程序在主服务器上运行。它们仅在代理节点上运行。
解决方案
答案是:视情况而定!
首先,虽然这不是 IMO 的好习惯,但有些安装让 master 成为实际的 worker 并运行作业。在这种情况下,工作区将位于主服务器上。
如果您将 master 配置为不接受作业,则仍有可能在 master 上创建工作空间。一个很好的例子是当您的工作是“来自 SCM 的管道脚本”时。在这种情况下,master 将为作业创建一个工作空间,克隆目标 repo,读取管道,并在任何目标从属设备上启动所需的作业,创建一个工作空间来自己运行操作。如果管道针对多个从站,则每个从站上都会有一个工作区。
在简单的情况下(例如 maven 或 freestyle 工作),工作区将仅位于目标从站上。
推荐阅读
- c - GCC 编译器在 Windows 7 上找不到 Python.h 标头
- python - 使用 json - python 用另一个对象创建对象
- excel - 如何按列单元格中某处包含的某个关键字对列进行排序?
- reactjs - react/redux app - TypeError:无法读取未定义的属性“用户”
- python - 查找数组 Python 的最小值
- java - 带有java的JSON错误:主线程中的异常
- azure - 自定义 Azure 用户流中的异常
- javascript - 错误类型错误:无法读取未定义的属性“saveInFile”
- c++ - CMake 找不到 git 子模块的头文件
- javascript - 如何防止用户取消页面重定向?