在哪里以及如何哈德森的工作和奴隶信息存储?
我今天意外地取消了Hudson升级。 这不会让我继续升级; 只降级到以前的版本,然后再次升级。 在降级之后,我最近创build的两个工作从仪表板和为其中一个工作创build的从属节点一起消失了,我最近删除的工作出现在仪表板中。 升级之后,作业和节点处于相同的状态。
发生了什么? 我可以恢复我最近的工作和节点,我该怎么做? 请记住,虽然我很了解C / C ++,但Web服务已经不在我的范围之内了,我不知道这是一个jar子还是一场战争……我只是按照在线指导来安装和设置Hudson工作。 我希望避免简单地重新创造这些工作; build立其中一个并不重要。
更多信息:查看configuration,主目录不正确; 它认为HOME是/ root /而不是/ home / hudson。 它是如何改变的,我如何改变它?
哈德森以前的版本是1.379。 目前正在运行1.381。 我在RHEL 5上运行它。
当我查看.hudson / jobs目录时,最近的两个作业都在那里,以前删除的作业不在那里。 这些工作目录缺less他们的“工作空间”目录。
如您HUDSON_HOME/jobs/[name]/config.xml
,作业配置存储在HUDSON_HOME/jobs/[name]/config.xml
。
从站配置存储在主Hudson配置文件HUDSON_HOME/config.xml
。
我不确定为什么Hudson在升级后重新启动时没有拿起工作。 检查Hudson日志可能会提供一个线索,通常是/var/log/hudson/hudson.log
。
如果您的作业的config.xml文件存在,如果您重新加载配置( 管理Hudson – > 从磁盘重新配置配置 ),Hudson可能能够重新读取它们。 如果Hudson仍然不能识别它们(并且配置文件存在),那么最好的方法是重新创建作业,手动从配置文件中抓取所有可能的东西(记住,XML转义应用于构建文本字段命令)。
当我重新访问“管理哈德森”页面时,我得到了一个有用的线索,并看到一条消息,说明我有一个旧的,不可读的格式的数据。 这表明哈德森正在运行一个与最近使用的不同的.war。 所以我搜索了任何“hudson.war”文件的磁盘,发现两个; 一个从几个星期前,一个从几个月前。 新的一个在我预期会找到的地方,而另一个在其他地方。 我改名为旧的。 另外,我有一个start-hudson.sh脚本,在该脚本中添加了“export HUDSON_HOME = / home / hudson”,并用它来重新启动哈德森。 瞧,我的新工作又回来了,工作。
我本来以为只是简单地命名HUDSON_HOME变量就行了,但是我先做了这个,重新启动了Hudson,并没有那么高兴。 只有在我重新命名了旧的.war,并设置了我找到修复程序的环境变量之后。 我的猜测是旧的.war文件的根目录设置为HUDSON_HOME,不知何故,.war正在运行,但在页面上显示的版本是当前版本。 我不明白,但我很高兴能回来做生意。