如何将Jenkins从一台PC移动到另一台PC

hua*_*n68 144 data-migration jenkins

我目前在我的开发PC上使用Jenkins.我把它安装在我的开发PC上,因为我对这个工具知之甚少; 所以我在开发PC上对它进行了测试.现在,我觉得Jenkins在构建过程中是我长期的"合作伙伴",并希望将这个Jenkins"移动"到专用服务器上.

在此之前,我做了很少的构建,并从每个构建中归档了工件.特别是,版本号对我来说对版本控制非常重要.

如何将当前PC中的所有Jenkins信息导出到新服务器?

Céd*_*ien 166

詹金斯维基之后,你将不得不:

  • 在新服务器上安装新的Jenkins实例
  • 确保旧的和新的Jenkins实例已停止
  • 存档旧Jenkins实例的JENKINS_HOME的所有内容
  • 将存档解压缩到新的JENKINS_HOME目录中
  • 启动新的Jenkins实例
  • 不要忘记更改您的Jenkins新实例的文档/链接:)
  • 不要忘记更改新Jenkins文件的所有者: chown -R jenkins:jenkins $JENKINS_HOME

JENKINS_HOME默认位于~/.jenkinsLinux安装中,但要准确找到它所在的位置,请转到http:// your_jenkins_url/configure页面并检查第一个参数的值:Home directory; 这是JENKINS_HOME.

  • 得到了我之前评论中提到的问题的解决方案:转到管理Jenkins>配置系统.在"Jenkins位置"部分的"Jenkins URL"字段下,更改URL以将其指向新的jenkins服务器. (12认同)
  • 哈哈+1为"不要忘记更改文档/链接到你的新詹金斯实例" (6认同)
  • 确保复制隐藏文件夹! (3认同)
  • 我在使用正确的文件权限和所有权时遇到问题,要解决该问题,我使用了以下docker脚本(用于设置所有权/权限的部分):https://hub.docker.com/r/appcontainers/jenkins/~/dockerfile/ (2认同)

Noa*_*nos 44

如果您的JENKINS_HOME目录太大而无法复制,您只需要设置相同的作业,Jenkins插件和Jenkins配置(并且不需要旧的作业工件和报告),那么您可以使用ThinBackup插件:

  1. 在源Jenkins服务器和目标Jenkins服务器上安装ThinBackup
  2. 在两者上配置备份目录(在管理Jenkins - > ThinBackup - >设置中)

  3. 在Sourse Jenkins上进入ThinBackup - >立即备份

  4. 从Jenkins源备份目录复制到Jenkins目标备份目录
  5. 在Tar​​get Jenkins上,转到ThinBackup - > Restore,然后重新启动Jenkins服务.
  6. 如果缺少某些插件或作业,请将备份内容直接复制到目标JENKINS_HOME.

  7. 如果您在源Jenkins上进行了用户身份验证,现在已锁定在目标Jenkins上,则编辑Jenkins config.xml,设置<useSecurity>为false,然后重新启动Jenkins.

  • 我的jenkins_home是100Gb左右,不想将它复制到新服务器,因为它主要扔掉的东西 (8认同)
  • 为什么JENKINS_HOME目录太大而无法复制?我们在说什么尺寸? (2认同)
  • 我的Jenkins_home约为4TB,因此仅包含配置且没有构建历史记录或/ usercontent的精简副本很有用。 (2认同)

Kat*_*atu 11

这对我有用,可以从Ubuntu 12.04(Jenkins ver.1.628)转到Ubuntu 16.04(Jenkins ver.1.651.2).我首先从存储库安装了Jenkins.

  1. 停止两个Jenkins服务器
  2. JENKINS_HOME(例如/ var/lib/jenkins)从旧服务器复制到新服务器.从新服务器的控制台:

    rsync -av username@old-server-IP:/var/lib/jenkins/ /var/lib/jenkins/

  3. 启动新的Jenkins服务器

你可能不需要这个,但我必须这样做

  • Manage JenkinsReload Configuration from Disk.
  • 断开并再次连接所有从站.
  • 检查中Configure System > Jenkins Location,对Jenkins URL被正确地分配给新的詹金斯服务器.