Svn 在控制版本系统上保留二进制文件

Svn 在控制版本系统上保留二进制文件,svn,version-control,release,Svn,Version Control,Release,我们正在进行一个项目,并与我们的QC团队联系,以测试我们的快速开发和更新。因此,有时我们会在VCS(本例中为SVN)上提交几次更新或修复bug。 在开发之后,QC团队应该进行检查和测试,有时是在提交或更新之后。顺便说一下,由于某些安全策略,QC团队成员无法访问源代码来构建和生成二进制文件(测试所需)。二进制文件在构建和开发过程中很容易生成。 因此,我们的开发人员应该构建和制作二进制文件(本例中为RPM文件),并将其提交给测试团队成员。 中心问题: 将二进制文件(RPM文件)放在VCS上(并允许Q

我们正在进行一个项目,并与我们的QC团队联系,以测试我们的快速开发和更新。因此,有时我们会在VCS(本例中为SVN)上提交几次更新或修复bug。
在开发之后,QC团队应该进行检查和测试,有时是在提交或更新之后。顺便说一下,由于某些安全策略,QC团队成员无法访问源代码来构建和生成二进制文件(测试所需)。二进制文件在构建和开发过程中很容易生成。
因此,我们的开发人员应该构建和制作二进制文件(本例中为RPM文件),并将其提交给测试团队成员。
中心问题:

将二进制文件(RPM文件)放在VCS上(并允许QC团队成员访问该目录(或仅包含二进制文件的路径)是否方便且技术上正确?

您不应该将编译的二进制文件/包放在源代码存储库中。任何可以从存储库的内容创建的工件都不应该放回存储库中


相反,您的持续集成/部署系统(不是您的开发人员)应该签出、编译代码、运行测试、打包,然后发布到另一个二进制文件/编译工件的内部存储库。请注意,这不一定是风投,事实上,它可能不应该是风投。更有可能的是,它是一个软件包管理人员可以访问的存储库,您的QC团队随后将检索和测试该存储库,就像您的构建和部署过程一样,最好是通过自动化。

您不应该将编译后的二进制文件/软件包放在源存储库中。任何可以从存储库的内容创建的工件都不应该放回存储库中


相反,您的持续集成/部署系统(不是您的开发人员)应该签出、编译代码、运行测试、打包,然后发布到另一个二进制文件/编译工件的内部存储库。请注意,这不一定是风投,事实上,它可能不应该是风投。更有可能是一个软件包经理可以访问的存储库,您的QC团队将检索和测试该存储库,就像您的构建和部署过程一样,最好是通过自动化。

关于您的第一段,您能否给出一些不应检入工件的原因?它是多余的,浪费空间,并将不必要的混乱添加到存储库中。如果您拥有在存储库中创建这些项目所需的一切,您可以在将来的任何时候重新创建它们。关于您的第一段,您能否给出不应签入工件的一些原因?这是多余的,浪费空间,并给存储库添加了不必要的混乱。如果您拥有在存储库中创建这些项目所需的所有其他内容,则可以在将来的任何时候重新创建它们。