linux - 使用相同的配置和构建实现多个 jenkins

标签 linux jenkins

我需要使用相同的配置和构建来实现多个 Jenkins 服务器。所有 Jenkins 服务器都应该具有相同的构建和相同的配置。

每当我更改任何配置或添加新构建时,它应该与所有 Jenkin 服务器一起复制。

所有 Jenkins 服务器都有共同的 nfs 共享。

请提供简单且最佳的实现方法。

所有的 Jenkins 服务器都在 Linux 服务器上运行。

为什么我要实现多个 Jenkins 服务器,我们有不同的区域。

我们没有连接到区域之间的服务器和应用程序。

任何其他解决方案都可以。

最佳答案

我无法提供完美的解决方案,但我可以为您提供一个如果您做得好可能会奏效的解决方案。没有直接的插件可以做到这一点。所以这就是为什么我给你我的解决方案。但这有点复杂。

首先,使用良好且更新的配置设置 Jenkins 服务器。现在制作一个 ~/.jenkins 文件夹的 zip 文件。所以现在请用这个已配置的 jenkins 实例 zip 文件替换所有其他 jenkins 服务器实例的 ~/.jenkins 文件夹。这仅用于初始设置。

使用this plugin观察作业配置的文件系统变化。为此创建一个工作。在构建步骤中,创建一个 zip 文件,其中包含所有已更改的配置文件和信息文件,其中包含文件的放置位置,即 changed_configs.json ( [file_name_in_zip_file, location_to_be_pasted] )。

完成后,请将此 zip 文件保存在 nfs 共享中。请使用相同的插件任务检查 nfs 共享位置是否有任何变化。如果有任何变化,则意味着作业配置已更新。所以现在使用那个 changed_configs.json 文件来替换配置,现在所有配置都与另一个同步。

顺便说一下,每个服务器将有两个作业来执行此操作。一个将检查作业配置更改并制作一个 zip 文件。其他人将检查 nfs 共享位置中的 zip 文件更改。

在制作实例 zip 文件时也配置这两个作业。现在请使用它来更改正在运行的实例中的配置。 Manage Jenkins => Reload Configuration from Disk 使用此选项再次从 xml 文件重新加载配置。替换更改后的配置后,在构建步骤中自行创建它。它会很快,不需要重启你的 Jenkins 。希望这可以帮助。这很复杂,但对您的情况很有用,因为应用程序之间或服务器之间没有连接。

您可以查看的一些网址是:

How to move Jenkins from one PC to another?

https://staxmanade.com/2015/01/how-to-migrate-a-jenkins-job-to-new-jenkins-server/

https://wiki.jenkins.io/display/JENKINS/Job+Import+Plugin

关于linux - 使用相同的配置和构建实现多个 jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49364065/

相关文章:

linux - 脚本的crontab

python - setuptools 搜索错误依赖

plugins - jenkins 插件显示当天的构建摘要

java - 为 Maven 将分拆的子 JVM 进程设置 permgen 大小

c - 我无法编译 mongoose web 服务器的示例代码

linux - 在 Windows 和 Linux 上与网络设备通信

git - 在 Jenkins 中发布到 Artifactory 时使用 Git SHA 提交 ID 作为 Artifactory 版本号

git - 使用 URL 中的密码登录 SSH

java - Jenkins - 不使用描述符保留插件设置

linux - 如果 shell 只显示几行,如何复制和粘贴 SQL 脚本?