Hudson 似乎没有用于构建工件的内置存储库。我们的解决方案是创建一个。
我们在一个 Windows 环境中,所以我创建了一个可以被所有 Hudson 服务器访问的共享(我们为相关服务提供一个公共帐户,因为系统帐户无法通过网络访问资源)。
在我们的构建脚本 (ant) 中,我们有任务将资源构建从其他作业复制到本地工作区,而生成工件的作业将它们复制到公共存储库中。
在其他环境中,您可以通过 FTP 或任何其他移动文件的机制发布和获取。
发布和获取任务的简单示例:
<!-- ==================== Publish ==================================== -->
<target name="Publish" description="Publish files">
<mkdir dir="${publish.dir}/lib" />
<copy todir="${publish.dir}/lib" file="${project.jar}"/>
</target>
和
<!-- ==================== Get ==================================== -->
<target name="getdependencies" description="Get necessary results from published directory">
<copy todir="${support.dir}">
<fileset dir="${publish.dir}/lib">
<include name="*.jar"/>
</fileset>
</copy>
</target>