【发布时间】:2021-06-24 19:26:32
【问题描述】:
在我的公司有一个应用程序存储库,我们希望将其部署到多个客户端。每个客户端都有不同的应用程序配置值 (appsettings.json),并且此设置可能会随着客户端的不同而改变。这就是为什么我们为每个客户端创建不同的 git 分支以执行 CICD。每个客户端服务器(本地)中都有多个 TeamCity 服务器,它们正在侦听其 git 分支以进行更改。我们担心的是这些客户数量会增长。 git 分支的数量也会增加,我们不希望这种情况发生。
注意:每个客户端都有自己的登台和生产环境。所以我们将分支名称创建为“clientA-staging”、“clientA-production”、“clientB-staging”、“clientB-production”。我们这样做的另一个原因是,如果客户端配置发生变化。我们只想将此更改部署到该客户端。
有什么方法可以改善这一点吗?我们想要实现的是:-
- 将暂存和生产 git 分支的数量减少并保持为仅两个分支。
- 仅在特定客户端发生配置更改时才部署到特定客户端。
【问题讨论】:
-
如果客户端配置发生变化是什么意思?您是否正在为此更改代码?
-
是的。代码的变化。再具体一点。在 appsettings.json
-
这样的话事情就复杂了。就像在您进行此更改之前,其他客户端可能有其他一些更改或新开发,因此当您实际应用此修复时,您不能对主分支执行此操作,除非您的所有客户端都准备好接受该更改。似乎您拥有一种产品,而不是为客户的特定场景定制它。这会成为代码长期运行的问题和开销,但您也必须看到业务方面。
-
我知道你的意思。这就是为什么我们试图纠正我们的错误。你有什么建议吗?
标签: git asp.net-core teamcity cicd