我正在使用Perforce,如果这会改变答案的曲调。
我想实现一个构建过程,当在“发布”模式下构建解决方案时,使用标签标记整个源树,并将构建的输出(DLL,网页)推送到/ build源代码管理中的/ release目录。这个目录应该总是包含最新的完整版本,没有更多,所以我可以完全将该目录拉到生产服务器上,它已经准备好了。
现在说我在之前的版本中有一个DLL,新版本不应包含。这是否意味着更新/ build / release文件夹的最佳做法是检查整个内容,删除其中的所有内容,添加 new 构建文件并同步它?听起来像是一个明显的答案,但我想确保我不会错过其他可能更好的方法。
答案 0 :(得分:3)
我认为你错过了简单的伏都教:)你应该考虑使用普通的旧文件系统来构建你的构建版本。源代码控制旨在管理变更,版本控制和协作,而且实际上不需要与构建相关的任何内容。构建系统的重点是能够在瞬间通知时重现源代码并创建应用程序,因此我将专注于能够做到这一点,而不是依赖于输出文件的永久存储。确保像编辑源控制数据库一样备份构建drop文件夹结构。使用包含文件名中的内部版本号的文件夹命名方案。我会存储所有构建(至少返回几个),因为有时QA想要恢复旧构建以进行测试以便比较功能或恢复错误。使用此系统,每个构建都会获得一个新文件夹,因此您不必担心删除旧文件。
答案 1 :(得分:1)
我会说“是” - 您应该从构建的空文件夹结构开始(无论源控制系统如何)。