如何从 Jenkins 主服务器中的从服务器访问参数文件

Posted

技术标签:

【中文标题】如何从 Jenkins 主服务器中的从服务器访问参数文件【英文标题】:How to access parameter files from Slave server in Master server of Jenkins 【发布时间】:2019-08-07 10:30:52 【问题描述】:

我的工作中有一个活动选择插件,它使用 groovy 脚本将另一个工作区文件夹中的文件夹列为选项。我将它与 Jenkins 单节点(无主从)一起使用,它正在工作。

现在我已经切换到 Jenkins 主从服务器架构。由于工作区位于从属设备中,因此作业中未列出选择。请让我知道是否有任何方法可以从 master 中的作业访问 slave 中的工作区。

【问题讨论】:

【参考方案1】:

另一种选择是简单地不从从站访问。使用“归档工件”选项将它们从从属服务器上的易失工作区推送到主服务器上的构建(日志)目录。然后你有效地从主人那里检索它们。

帖子here(我的类似回复)、here、here 和here 提供了一些关于使用的见解。此外,来自 Jenkins 的官方文档 pipeline 在这里。

然后您可以使用 Copy Artifacts Plugin 从其他作业中检索它们并使用它们或直接使用您的 groovy 脚本检索。

ps:您可能需要仔细管理您保留的 # 个构建,并按照先前响应中的建议,考虑使用系统属性 jenkins.model.Jenkins.buildsDir 将所有构建日志(和工件)存储在作业配置目录之外。

这个response 提供了一种使用 groovy 和读取节点工作区的替代解决方案,但是您随后依赖于节点正在启动,工作区不会被擦除并且作业不会在进行中。

【讨论】:

谢谢 lan,但是主人正在被许多其他人使用,只有奴隶被分配给我。所以我将无法将文件推送到master。我将使用 groovy 脚本检查替代解决方案 您“无法将文件推送到 master”是什么意思? “归档工件”选项是内置的。

以上是关于如何从 Jenkins 主服务器中的从服务器访问参数文件的主要内容,如果未能解决你的问题,请参考以下文章

检查mysql主从同步结构中的从数据库服务器的状态-脚本shell

如何使用未部署在 swarm 中的 docker 容器从 docker swarm 访问服务?

MySQL主从复制与读写分离

MySQL高可用

数据库 之 MHA 简要配置文档

Aways on故障系列之一:所有的从数据库无法同步