我正在尝试实现一种将已编译的程序集部署到QA进行测试的方法。我有许多存储库,每个存储库包含带有项目和源代码的文件夹,还有一个包含从这些项目生成的已编译程序集的文件夹。下图是我的源存储库工作空间的代表。
我还有一个开发用户组和一个QA用户组。开发用户组具有源存储库的完全权限。
我尝试了几种不同的方法来实现我的目标,但几乎没有成功:
我尝试创建一个名为Assemblies的新存储库,并将Xlink添加到我的源存储库,然后拒绝源存储库中所有文件夹和文件的QA用户组的所有权限,但Assemblies文件夹除外。但是,当作为QA用户组的成员登录到Plastic时,我仍然可以下载所有源文件。
我还尝试直接访问源代码库作为QA用户组的成员,但我仍然可以访问不应该可用的文件。
我正在考虑办理登机手续。只要将它们检入源存储库的主分支,触发器就会将.exe和.dll添加/签入到Assemblies存储库中。但是,我不确定我是否正朝着正确的方向前进。如果已经有我应该采用的首选方法或最佳实践,我不想'重新发明轮子'。
非常感谢任何建议或参考。
答案 0 :(得分:2)
这是我的建议,
创建新存储库,以便将所有二进制文件放在输出工件中。在您的中央存储库中,x链接到外部' 第三方'存储库,创建新的 xlink到新的全新"二进制文件"存储库强>
现在,您需要将构建系统更改为将所有二进制文件和工件复制到此xlinked存储库。 (cm ci -a)命令将提交所有已更改的二进制文件,最后标签更改集与" cm标签"命令,此标签将帮助QA团队测试某些版本。
删除中央存储库和第三方"的QA Plastic SCM组的查看权限。库。现在,QA小组永远不会知道甚至还有源代码存储库。 QA小组将有一个工作空间与"二进制文件"存储库,您的源代码/存储库将安全隐藏,并且此QA组无法访问。
你甚至可以拥有"二进制文件" 外部服务器/机器中的存储库。所以源代码在devMachine:8087中,二进制文件位于不同的Plastic SCM服务器中,例如" qaMachine:8087"。使用此方法,QA Plastic用户将使用专用服务器。