Hudson需要一些磁盘空间来执行构建和归档,所以hudson启动后,会自动建立一个HUDSON_HOME目录,该目录用于保存hudson的相关配置信息以及提供一个构建和归档的空间。
默认情况下,HUDSON_HOME会在当前用户的家目录下建立,名称为.hudson,
比如在windows下:C:\Documents and Settings\username\.hudson
在linux下:~/.hudson
你也可以通过如下方式修改HUDSON_HOME的位置:
在hudson的web.xml中找到HUDSON_HOME,默认value为空值,将其设置为你希望的路径,然后重启hudson。
- <!-- if specified, this value is used as the Hudson home directory -->
- <env-entry>
- <env-entry-name>HUDSON_HOME</env-entry-name>
- <env-entry-type>java.lang.String</env-entry-type>
- <env-entry-value></env-entry-value>
- </env-entry>
修改一个已经配置过的Hudson的HOME路径,如果希望保留所有配置信息,这需要彻底停掉Hudson,然后把老的 HUDSON_HOME挪到新HUDSON_HOME下,设置新的HUDSON_HOME,最后重启Hudson。
下面是一个典型的HUDSON_HOME目录结构:
- HUDSON_HOME
- +- config.xml (hudson总配置文件)
- +- *.xml (其它配置文件,比如SVN,Maven,JDK,ANT...)
- +- userContent (files in this directory will be served under your http://server/hudson/userContent/)
- +- users (存储用户目录)
- +- plugins (插件目录)
- +- jobs
- +- [JOBNAME] (每个Job的子目录)
- +- config.xml (job配置文件)
- +- workspace (版本控制工作目录)
- +- latest (最后一次成功构建连接)
- +- builds
- +- [BUILD_ID] (每次构建ID目录)
- +- build.xml (构建结果摘要)
- +- log (日志文件)
- +- changelog.xml (更新日志)
HUDSON_HOME就是一个目录,所以你可以随时对其进行备份,如果希望hudson恢复到之前的某一次备份,直接使用备份覆盖现有的HUDSON_HOME即可,当然,覆盖后要记得重启hudson。
不同的hudson间,如果其环境和版本相同,也可以使用将一个配置好的hudson的HUDSON_HOME覆盖掉另一个HUDSON_HOME,实现快速配置,如果不希望保留Job信息,可以不复制jobs下的内容。