2010-10-20 60 views
1

Hudson作业和从属信息在何处以及如何存储?升级后Hudson作业和从节点丢失

我今天意外取消了Hudson升级。它不会允许我继续升级;只能降级到以前的版本,然后再次升级。在降级之后,我最近创建的两项工作从仪表板以及为其中一项工作创建的从属节点一起消失了,最近删除的工作显示在仪表板中。升级之后,作业和节点处于相同的状态。

发生了什么事?我可以恢复最近的作业和节点吗?我该怎么做?请记住,尽管我很了解C/C++,但Web服务已经不在我的范围之内了,我不知道是一个罐子还是一场战争......我只是遵循在线指导来安装并设置Hudson和它工作。我希望避免简单地重新创造这些工作;建立其中一个并不重要。

更多信息:查看配置时,主目录不正确;它认为HOME是/ root /而不是/ home/hudson。它是如何改变的?我如何改变它?

哈德森以前的版本是1.379。目前它运行的是1.381。我在RHEL 5上运行它。

当我查看.hudson/jobs目录时,最近的两个作业都存在,并且以前删除的作业不存在。这些工作目录缺少他们的“工作空间”目录。

回答

3

如您所知,作业配置存储在HUDSON_HOME/jobs/[name]/config.xml中。

从站配置存储在Hudson主配置文件HUDSON_HOME/config.xml中。

我不确定为什么Hudson在升级后重新启动时没有拿起作业。检查Hudson日志可能会提供线索,通常为/var/log/hudson/hudson.log

如果你的工作config.xml中文件是否存在,哈德森或许可以,如果你刷新你的配置重读他们(管理哈德森 - >刷新配置从磁盘)。如果Hudson仍然不能识别它们(并且配置文件存在),那么最好的办法是重新创建作业,手动从配置文件中抓取所有可能的内容(请记住,XML转义应用于构建文本字段命令)。

+0

谢谢你的好消息;我给你+1尝试! – jasper77 2010-10-20 20:41:51

2

当我重新访问“管理哈德森”页面时,我收到了一条有用的线索,并看到一条消息,指出我的数据是旧的且无法读取的格式。这表明哈德森运行的战争与最近使用的战争不同。所以我在磁盘上搜索了任何“hudson.war”文件,并找到了两个;一个来自几个星期前,一个来自几个月前。较新的一个在我期望找到的地方,而较老的一个在其他地方。我改名为旧版。另外,我有一个start-hudson.sh脚本,在该脚本中添加了'export HUDSON_HOME =/home/hudson',并用它重新启动了hudson。瞧,我的新工作又回来了,工作。

我本来以为简单地命名HUDSON_HOME变量会做到这一点,但我首先做到了这一点,并重新启动哈德森,并没有喜悦。只是在我重命名旧的.war并设置了我找到修复程序的环境变量之后。我的猜测是旧的.war文件的根设置为HUDSON_HOME,并且不知何故.war正在运行,但是页面上显示的版本是当前版本。我不明白,但我很高兴能够恢复业务。