具有多个项目的.Net解决方案的Azure DevOps Repo方法

问题描述 投票:-2回答:1

前提:移至DevOps。 Kinda大型遗留.Net解决方案,将由2个开发人员和一名测试人员进行,内部和外部项目经理将加入其中。其中包括Web,服务器和桌面组件,两个DB和几个共享组件。

问题:为使事情简单:)应该吗?

1]一个DevOps项目和一个大型仓库,在一个sln下有十几个左右的VS项目。

2)分开的DevOps项目和分开的仓库。

3)将它们分成三个单独的DevOps项目和存储库,一个用于一个开发人员主要负责的所有代码,一个用于另一个开发人员主要负责的代码,另一个可能都在接触代码。

4)完全不同。

我以前在两个开发人员之间对所有这些项目进行大型回购的经验偶尔会引起分支和提交的混乱。所以我很愿意提出建议。

git azure-devops project-management
1个回答
-1
投票

我最近还开始与一名开发人员和一名经理一起在我的组织中迁移和实践Azure DevOps,以获取/管理CI-CD和报告。

为了使事情简单,按照您提到的方案:

根据项目依赖项设置,您可以选择。一个。如果相关项目中频繁/同时发生更改,那么单个回购应该是不错的选择。(由于解决方案中存在所有必需的项目,因此CI中的任务较少,并且每次都会构建。您可以为仅观察特定项目的每个组件设计多个CI)b。如果依赖项项目不改变很多,那么应该使用多个存储库。(如果您仍然担心任何从属项目中的更改,那么您可以从该存储库中发布工件,最新的工件可以用作参考-为每个工件设置CI并发布每个工件都需要付出额外的努力)

如果您处理单个DevOps项目和单个Repo中的所有代码,

[两个开发人员可以在他们自己的项目(p1,p2)中的两个不同分支(a,b)上工作。[如果存在依赖性或共性,则可以根据需要对每个分支进行PR。分支机构中的PR a <=> b]

两个开发人员的最终PR在完成他们的代码后应始终用于master分支。

这应该是我认为的最佳方法。

此外,还有Web,服务器和桌面组件。因此,您可以创建多个解决方案文件,并将所有代码放入单个回购中。两家开发人员都应使用为其单独创建的sln,仅在可能的情况下防止冲突。

AbpBoilerPlate和ASPNETZero根据图像提供了这种结构解决方案。

这里,我为我的额外服务器和桌面组件添加了“代理”目录,以便像任务计划程序作业exe一样使用。 src包含Web,EF和类库项目。测试包含几个测试项目。单个存储库中的所有内容均带有8 CI和5 CD,可为azure devops单个项目中的所有内容构建,部署和报告。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.