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