10

在每天可以创建多个构建(发布候选包)但每个月只有一个升级到生产环境的环境中,我认为将每个构建存储在 Git 中会很浪费,但应该有一个短期位置来发布最后几个构建.

我目前正在将这些发布到共享目录。过去我曾看到 IVY 用于这种二进制发布。Git 看起来有点矫枉过正,因为它的模型永远不会删除任何东西,它会变得臃肿。

是否有一种公认的、标准化的方式来管理/发布这些临时构建工件?

4

1 回答 1

14

我不会将构建工件存储在 git 中,而是考虑从持续集成 (CI) 服务器或专用工件存储库(例如artifactorynexus )共享构建工件。一般来说,我发现最好避免在所有 SCM 中使用大型二进制文件,因为您无法区分它们或进行增量更新,因此您会发现您的 git 存储库快速增长,因为它在每次更改时都存储了完整版本的二进制文件。

大多数持续集成工具(例如 Jenkins)将能够归档最后 X 个构建工件或上个月内制作的所有构建工件。他们还有一些插件,可以帮助支持和自动化推广您认为有帮助的构建的过程(即Jenkins 构建推广)。

通过使用工件存储库或 CI 服务器来管理构建工件,您通常还可以通过 API 访问工件,这在您想要自动化部署过程时非常有用,例如,您可以进行诸如“getLastSuccesfullBuild”和“getLastPromotedBuild( )' ETC。

于 2013-01-23T22:23:44.067 回答