1

我正在尝试实现一种将我编译的程序集部署到 QA 进行测试的方法。我有许多存储库,每个存储库都包含包含项目和源代码的文件夹,以及一个包含从这些项目生成的已编译程序集的文件夹。下图代表我的源存储库工作区。

源代码库

我还有一个 Development 用户组和一个 QA 用户组。Development 用户组对源存储库具有完全权限。

我尝试了几种不同的方法来实现我的目标,但几乎没有成功:

我尝试创建一个名为 Assemblies 的新存储库,并将 Xlinks 添加到我的源存储库,然后拒绝 QA 用户组对源存储库中所有文件夹和文件的所有权限,但 Assemblies 文件夹除外。但是,当作为 QA 用户组的成员登录到 Plastic 时,我仍然可以下载所有源文件。

我还尝试以 QA 用户组的成员身份直接访问源存储库,但我仍然可以访问不应该可用的文件。

我正在考虑签到触发器。每当将 .exe 和 .dll 签入源存储库的主分支时,触发器就会将它们添加/签入到程序集存储库中。但是,我不确定我是否朝着正确的方向前进。如果已经有我应该采用的首选方法或最佳实践,我不想“重新发明轮子”。

任何建议或参考将不胜感激。

4

1 回答 1

2

这是我的建议,

创建一个新的存储库,以便将所有二进制文件放在输出工件中。在您的中央存储库中,即链接到外部“第三方”存储库的存储库中,创建一个指向新的全新“二进制”存储库的新链接。

现在您需要更改构建系统以将所有二进制文件和工件复制到此 xlinked 存储库。(cm ci -a) 命令将提交所有更改的二进制文件,最后使用“cm label ”命令标记变更集,该标签将帮助 QA 团队测试某些版本。

删除中央存储库和“第三方”存储库中 QA Plastic SCM 组的查看权限。现在 QA 小组永远不会知道甚至有源代码存储库。QA 组将拥有一个使用“二进制”存储库的工作区,并且您的源代码/存储库将被安全地隐藏并且该 QA 组无法访问。

您甚至可以在外部服务器/机器中拥有“二进制”存储库。因此源代码位于 devMachine:8087 中,而二进制文件位于不同的 Plastic SCM 服务器中,例如“qaMachine:8087”。使用这种方法,QA Plastic 用户将使用专用服务器。

于 2013-01-16T11:08:05.780 回答