我公司多年来一直使用云TFS主机。现在主持人已经从互联网上消失了,许多代码和所有历史都已丢失。有人正在努力,所以它可能会被解决但我无论如何都需要在Visual Studio Online中快速设置新的源代码处理,并需要一些关于如何做的提示。
目前的解决方案是在我开始之前设置的,由于各种原因,我目前是唯一的开发人员。它可能会在未来发生变化,但每个Visual Studio解决方案永远不会有多个开发人员。
我在Visual Studio中使用许多小客户特定项目(Windows应用程序,Windows服务,WebAPI,SSRS,SQL,实体框架)。从开始编码到部署,项目的平均大小可能是20个小时(也有一些较大的项目)。部署后可能会添加新功能和错误修复(可能需要几年之后),但通常是2-6小时项目。
当前流程为每个客户提供一个TFS项目,每个项目最多包含一些Visual Studio解决方案。解决方案之间没有依赖关系,并且使用NuGet处理公共代码。
我们在云计算中有大约250个项目,即使我到目前为止只恢复了其中的50个项目,我在本地使用的项目,我们迟早会得到相似的数字。总大小在30GB的范围内(很多来自TFS,默认情况下检查nuget包文件夹)
对于大多数项目,不需要工作项,看板,报告和其他ALM功能。只有开发人员才能在线使用visual studio。我想使用分支/拉取请求/合并过程。来自Git / Mercurial我从未对TFS感到满意。
所以现在我的问题是:
构建项目的好方法是什么?
构建存储库的好方法是什么?
Visual Studio和在线门户如何与数百个项目/存储库一起工作,其中90%不活动。我通常有3-5个Visual Studio实例,可以随时运行不同的解决方案。
我已阅读了很多建议,但它们似乎都涉及长期项目和/或开发团队。
我主要担心的是:
答案 0 :(得分:1)
项目结构:一切都是单一项目。
存储库结构:每个VS解决方案一个存储库
关于VS使用这些项目/解决方案,您可以关闭解决方案,然后打开另一个解决方案(您无法在VS的同一个实例中同时打开多个解决方案),您也可以打开该文件VS和编辑。关于提交和推送,您可以使用Git命令(例如git commit,push)
当涉及开发人员时,您需要将它们添加到VSTS,并且他们需要从远程克隆/拉取源代码。
答案 1 :(得分:1)
我会建议:
从每个客户创建项目。例如,您可以使用客户名称创建项目,如WebAPI,SSRS,SQL等。
由于VSTS项目属于某个客户相关。因此团队项目中的所有存储库都应该与客户相关。存储库的结构可以是:针对客户的每个案例/解决方案的不同存储库。
VSTS / TFS上只托管两种版本控制系统: Git 和 TFVC 。而且您似乎熟悉Git和Mercurial,因此您可以将Git VCS用于您的项目。
在VSTS上托管的Git存储库可以像其他远程存储库一样工作,例如github,bitbucket等。它是没有工作目录的裸仓库。因此,解决方案不会存储,而是两个版本之间的校验和,并以sha-1值(40个字符)存储。在大多数情况下,您在本地仓库工作(没有连接/与远程仓库通信)。只有当您克隆/拉/推时,您的本地git仓库才会与远程仓库进行通信。