与多个开发人员一起工作和构建一个项目,每个开发人员都有指定的权限?

Working and building a project with multiple developers with specified permission for each one?

我们是两个开发人员(我和我的朋友),在 Visual Studio 2017 年使用 TFS Online(visualstudio.com,TFVC)开发 MVC ASP.Net 项目。
我们所有人都可以完全访问用于开发和构建的所有文件以查看和测试。
我们想将项目的一部分外包给其他开发人员,我们不想将项目文件的全部权限授予新开发人员。
如果我们没有向新开发人员获得对所有文件的完全权限,他们将无法构建项目来查看和测试。
有没有办法让其他开发人员仅访问项目的某些文件,但他们可以构建项目来查看和测试?

VSTS/TFS 向用户授予适合您组织中特定角色的一组特定权限。详细权限请参考这里link.

限制某人访问某些项目文件并不难。使用 TFVC 源代码管理时,您可以在文件夹级别拒绝 Read 权限。

Read

Can read the contents of a file or folder. If a user has Read permissions for a folder, the user can see the contents of the folder and the properties of the files in it, even if the user does not have permission to open the files.

如果您使用主机代理进行构建,请在 获取源代码 步骤中。您(=新开发人员)正在使用您自己的帐户从服务器中提取源代码以构建代理。如果无法访问项目中的某些文件,则无法拉取整个项目源代码。当然,您也不应该 运行 构建。

如果您使用私有代理构建,它可以使用网络服务帐户作为构建服务帐户和队列构建。只需给予构建服务帐户适当的权限,您应该能够下载项目中的所有源文件和 运行 构建。但是,由于您拒绝了项目中其他一些文件的访问,它也无法查看和测试它们。

在这种情况下,作为一种变通方法,建议您使用主开发分支创建一个单独的分支,只需将您的新开发人员需要使用的一些文件放在该分支中即可。并拒绝他们访问您的主分支,当他们的工作完成后,他们可以 build/test 在新分支上。

一旦一切正常,他们就可以将新分支的更改合并到您的主分支。然后,您还可以再次 build/test 主分支中的整个项目。

使用这种架构,管理权限和团队工作变得更加容易。