如何转移Jenkins插件和设置

b0zn9rqh  于 6个月前  发布在  Jenkins
关注(0)|答案(3)|浏览(70)

我得到了一个任务,我必须设置新的Jenkins服务器和复制作业,插件,设置等从现有的服务器。到目前为止,我复制了所有的工作,但如何导入所有的插件和设置我们在Jenkins没有找到答案。
如果有任何插件,将做的工作将是有帮助的

oxosxuxt

oxosxuxt1#

有一个简单的解决方案。
1.停止您现有的Jenkins服务器以及您安装的新Jenkins服务器。
1.在您现有的Jenkins示例的JENKINS_HOME文件夹中创建所有内容的存档文件。
1.现在,将该归档文件解压缩到新Jenkins示例的JENKINS_HOME目录中,然后启动新Jenkins。
1.现在,在新的Jenkins示例中,转到Manage Jenkins -> Configure System并找到Jenkins Location部分,然后在Jenkins URL字段下更改指向新Jenkins示例的URL。

你完成了:)

o4hqfura

o4hqfura2#

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

eaf3rand

eaf3rand3#

假设您已经创建了一个新的Jenkins服务,并且您希望将所有插件从path/to/old/JENKINS_HOME复制到新的path/to/new/JENKINS_HOME

下载Jenkins plugin installation manager tool

导出插件文件

要导出yaml文件(例如plugins.yaml),请运行:
jenkins:在这个实现中,我们删除了每个插件的版本,所以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

复制所有插件的配置文件

警告:在此实现中,我们复制所有插件的配置,以及整个系统中可能与这些插件无关的所有配置(例如凭据等)!
将旧JENKINS_HOME的根目录中的所有.xml文件复制到新JENKINS_HOME。如下所示:

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


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

sudo systemctl restart jenkins

相关问题