我最近负责构建我们的“软件基础架构”,因此我正在组装一个持续集成服务器。
在构建完成后,CI 系统将其创建的一些工件检入到标签中以便以后可以轻松获取它会被认为是错误的形式(或者如果构建中断,您可以更轻松地重新创建问题。)
作为记录,我们在这里使用 SVN 和 BuildMaster(免费版)。
这更像是一个最佳实践问题,而不是一个操作方法问题。(使用 BuildMaster 很容易做到)
赛斯
我最近负责构建我们的“软件基础架构”,因此我正在组装一个持续集成服务器。
在构建完成后,CI 系统将其创建的一些工件检入到标签中以便以后可以轻松获取它会被认为是错误的形式(或者如果构建中断,您可以更轻松地重新创建问题。)
作为记录,我们在这里使用 SVN 和 BuildMaster(免费版)。
这更像是一个最佳实践问题,而不是一个操作方法问题。(使用 BuildMaster 很容易做到)
赛斯
如果您认为这种方法对您有益,请继续这样做。只要您清楚地跟踪用于构建每个工件的源代码,就可以了。
您应该将此工件存储库与源代码存储库分开。
然而,为此使用源代码存储库有点奇怪——这些通常用于会发生变化的事情,而您的工件绝对不应该这样做。
源代码存储库也经常用于您想要检查“一切”的上下文中,例如整个主干。对于工件,您通常会寻找特定版本,并且只有在将它们导出到其他介质时才能检查所有内容。
有几个专门用于此的工件存储库,例如Artifactory或Apache Archiva,但是正确备份的文件服务器将仔细考虑访问设置可能是一个简单且足够好的解决方案。
我会说将二进制文件作为标签签入是一种气味。您的构建工件应该与构建系统中的特定构建版本相关联,并且该构建应该与特定签入相关联。您应该能够根据该信息重新创建确切的源代码。如果您正在寻找的是一个一站式功能来打开生成损坏构建的精确源代码修订,我建议您花一些时间来构建一个 Powershell 模块来为您做到这一点。
带有类似签名的东西: OpenBuild -projectName "some project name" -buildNumber "some build number"