gpt4 book ai didi

git - 在 git/visual studio 解决方案中将应用程序服务器放在哪里

转载 作者:太空狗 更新时间:2023-10-29 13:38:22 25 4
gpt4 key购买 nike

我有一个包含一些(大约 20 个)项目的 Visual Studio 解决方案。用于此解决方案的源代码管理是 git。

这些项目是围绕现有的应用程序服务器构建的(闭源,仅限二进制)。应用程序服务器包含大约 300 个文件/140 MB。应用程序服务器的版本可以每年更改 6 次(如果需要新功能/错误修复)开发人员需要这个应用服务器来测试(集成测试)开发。

这些项目中的大多数都引用了此应用程序服务器的某些程序集(即为了建立连接)。大约有 15 个文件,我们为其创建了由我们自己托管的 NuGet 包。

一些项目可能引用了官方的 nugget 包。

一些项目可能引用了“lib”文件夹中的第 3 方程序集,并且是解决方案的一部分。 lib 文件夹也是 git 存储库的一部分。

问题:

我们应该在哪里以及如何放置应用程序服务器文件?

版本 1:

放入 lib 文件夹旁边的 app 文件夹,并将其添加到 git 存储库。

  • 优点:开发人员只需 git checkout 即可启动应用服务器。开发者可以离线工作。
  • 缺点:git 中有很多二进制文件存储库。将产生一个巨大的 git 存储库。

版本 2:

将 robocopy 脚本放入构建后事件中,并在成功构建后从网络共享或互联网复制应用服务器。

  • 优点:开发人员只需 git checkout、构建解决方案并准备好启动应用服务器。 Git 存储库将保持轻量级。
  • 缺点:开发者需要连接到网络/互联网,否则后期构建事件将失败,因此整个构建将失败。如果开发人员 checkout 很多,它会很慢不同的分支,因为它将下载应用程序服务器每次 checkout 。

我们应该使用上述版本之一吗?是否有其他可能性/最佳实践来解决这种情况?

最佳答案

您应该使用工件存储库。这正是工件存储库的用途:专门针对二进制工件的“源代码控制”。

我没有使用 NuGet 工件的经验,但我从 JFrog 那里看到 artifactory supports NuGet .关于这个 here on SO 有一个正反两方面的答案.

虽然我通常更喜欢 nexus 而不是 artifactory,但该问题中公认的答案在这种情况下为 artifactory 提供了令人信服的论据。

关于git - 在 git/visual studio 解决方案中将应用程序服务器放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com