在Jenkins

时间:2015-09-15 03:34:17

标签: jenkins jenkins-plugins

我托管了Jenkins服务器,它有一个主节点和几个其他从属配置。昨晚,触发基于矩阵的构建配置的作业失败。我重新启动并通过Jenkins执行清理工作,但没有一个解决了这个问题。记录的初始错误是:

FATAL: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected termination of the channel hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected termination of the channel

之后我从磁盘执行了重新加载配置,然后通过<jenkins_job_url>/restart手动重启,这甚至使构建系统恶化。由于/tmp文件夹中的空间不可用,主服务器已脱机,我通过清理空间来修复该空间。之后我发现原来的从服务器配置不再可见了。我有奴隶0和奴隶1仍在那里,但奴隶2不再存在。相反,它被slave-3配置取代。现在奴隶0和1似乎工作正常。但是,由于Failed to mkdirs,slave 3的构建失败。有没有办法可以恢复到我开始的原始配置,因为我执行的步骤最初似乎有意义,但我不知道它有这么多的反响?任何帮助表示赞赏。

UPDATE1:我想我应该使用Jenkins中提供的一些配置备份插件,但是除了$ JENKINS_HOME之外还有一些特定的目录存放这些配置吗?

4 个答案:

答案 0 :(得分:2)

在进行重大更改之前,您应该始终备份$ {JENKINS_HOME}。

更好的方法是根据时间触发器找一份工作,偶尔会为你做这件事。

除此之外 - 只有将硬盘驱动器恢复到以前的状态才会恢复旧的配置。一旦配置被Jenkins覆盖 - 它就消失了。除非您使用Job Config History插件。虽然保留手动创建的备份在我看来更好:JobConfigHistory不会随着工作配置而消失的保险在哪里? :)

除此之外,上述插件也跟踪系统配置。

答案 1 :(得分:0)

如@Zloj所述,一旦更改被覆盖,就没有简单的方法可以修复。我最后通过删除无效的从属来修复问题,将现有构建重新映射到我通过正在工作的现有从属的副本创建的较新的构建,减少构建的数量(通过从矩阵中删除构建的数量)并非需要)最后,通过https://wiki.jenkins-ci.org/display/JENKINS/thinBackup插件进行备份并在Stash备份配置:)

答案 2 :(得分:0)

for windows只需删除主目录中的.jenkins文件夹即可。这将使您恢复原始设置。

答案 3 :(得分:0)

我们一直在使用SCM Sync Configuration插件,该插件已节省了很多时间。它将所有作业配置(包括全局配置)存储在bitbucket中。但是最新的插件会说它不再维护了。但是我能够从github中提取源代码并自己重建它。

请注意...不要使用全局变量来存储密码和密钥...此插件会将它们全部同步到github。严格使用詹金斯凭证。