Jenkins(Hudson)用于归档构建工件的后端是什么?

时间:2011-02-23 00:29:24

标签: continuous-integration hudson artifacts jenkins binaries

我读过有关使用SVN存储构建工艺(大型二进制文件)的disadvantages(尤其是this one)。 Hudson was suggested作为替代方案。

Hudson如何处理这些文件?

编辑:我的项目不是基于Java的。

3 个答案:

答案 0 :(得分:4)

Hudson可以创建/保留构建工件的存档,并提供一个很好的浏览器视图来检查它们。

您需要在作业定义中启用归档工件

答案 1 :(得分:2)

Hudson基本上使用平面文件存储。您可以在jobs / builds / folders中的Hudson中找到这些文件。我不确定我会说,“使用Hudson作为检查文件到源代码控制的替代方法”但是如果提供的话,使用某些东西是一个不错的主意:

  1. 权威的存储地点
  2. 版本化二进制文件访问控制
  3. 校验和防篡改
  4. 发布元数据(环境信息;审批级别)
  5. 保留期
  6. 我不确定Hudson在这些分数上的分数有多好,但我认为它至少有一些分数。 SVN在那里也是一个非常糟糕的解决方案,但是真的很难保留期限(旧的版本倾向于像疯狂一样占用磁盘空间)并且对于大型二进制文件并不是非常优化 - 大多数SCM系统都针对小文本文件进行了优化。

    我从此演示文稿中偷走了上面的列表:http://www.anthillpro.com/html/resources/webinars/Role_of_Binary_repositories_in_Software_Configuration_Management.html(需要注册)

答案 2 :(得分:1)

我们将Jenkins用于构建,但我们也存储构建中的工件。就像Eric上面所说,Hudson / Jenkins使用平面文件存储存储artficats。它是根据构建组织的。

我从使用中注意到的一些事情(响应Eric关于二进制文件控制的替代方案的问题):

  • 每个构建都存储它自己的工件,因此您可以对各种类型进行版本控制。
  • 存档时可以使用指纹识别选项。这将允许您区分版本并检查损坏。
  • 保留期完全取决于您。我们永远保留文物。

仅供参考,我们的项目也不是Java(它们是C / C ++),我们的工件是tar.gz / zip文件和文档。

它可能是也可能不是存储二进制文件的最佳方式,但只要你有定期备份(在我们的例子中为每周)并且你的磁盘是容错的,它肯定是不错的。