如何传输 Jenkins 插件和设置

问题描述 投票:0回答:3

我有一个任务,我必须设置新的詹金斯服务器并从现有服务器复制作业、插件、设置等。 到目前为止,我复制了所有作业,但如何导入所有插件和设置我们在詹金斯上没有找到答案。

如果有任何插件可以完成这项工作将会有帮助

jenkins plugins migration
3个回答
1
投票

有一个简单的解决方案。

  1. 停止现有的 Jenkins 服务器以及已安装的新 Jenkins 服务器。
  2. 创建现有 Jenkins 实例的
    JENKINS_HOME
    文件夹中所有内容的存档文件。
  3. 现在,将该存档文件提取到新 Jenkins 实例的
    JENKINS_HOME
    目录,然后启动新 Jenkins。
  4. 现在,在新的 Jenkins 实例中,转到
    Manage Jenkins -> Configure System
    并找到
    Jenkins Location
    部分,然后在
    Jenkins URL
    字段下更改指向新 Jenkins 实例的 URL。

你就完成了:)


1
投票

对于类似的任务,我编写了 python 脚本,使用 Jenkins Rest API 将插件和作业从一个 Jenkins 实例迁移到另一个实例。您可以在这篇文章中找到详细步骤如何将 Jenkins 从一台电脑移动到另一台电脑?


0
投票

假设您已经创建了一个新的 Jenkins 服务,并且您想要将所有插件从

path/to/old/JENKINS_HOME
复制到新的
path/to/new/JENKINS_HOME

下载Jenkins插件安装管理工具

将插件导出到文件

要导出

yaml
文件(例如
plugins.yaml
),请运行:

警告:在此实现中,我们删除了每个插件的版本,因此 jenkins 将安装最新版本的插件

java -jar jenkins-plugin-manager-*.jar --war /path/to/jenkins.war --plugin-download-directory "path/to/new/JENKINS_HOME/plugins" -l --output yaml | sed '/source:/d' | sed '/version:/d' | tee path/to/new/JENKINS_HOME/plugins-from-old-installation.yaml

从文件导入插件

然后从导出的文件中安装插件列表(例如

plugins.yaml
):

警告:在此实现中,我们使用

--hide-security-warnings
选项允许旧安装中允许的安全规则。

java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory "path/to/old/JENKINS_HOME/plugins" --plugin-file path/to/new/JENKINS_HOME/plugins-from-old-installation.yaml --hide-security-warnings

复制所有插件的配置

警告:在此实现中,我们复制所有插件的配置,以及整个系统的所有可能与这些插件无关的配置(例如凭据...等...)!

将旧

.xml
根目录中的所有
JENKINS_HOME
文件复制到新
JENKINS_HOME
中。像这样:

ls 'path/to/old/JENKINS_HOME' | grep '.*.\xml$' | xargs -I{} cp {} 'path/to/new/JENKINS_HOME'

安装插件后,需要重启jenkins服务才能生效:

sudo systemctl restart jenkins
© www.soinside.com 2019 - 2024. All rights reserved.