仅克隆特定路径 - Spring Cloud Config Server

Clone only specific path - Spring Cloud Config Server

有什么方法可以让 spring 配置服务器仅克隆特定路径而不是整个 git 存储库?当我 运行 在生产中使用它时,我可能不希望我的整个代码库被克隆到某个位置,因为这总是有风险的。我已经完成了研究,但无法找到仅克隆 git 回购的特定路径的方法。

一种解决方案是将配置托管在单独的存储库中。但这会破坏 一个代码许多部署 12factor.net 建议的目的。

另一种可能性是将属性复制到配置服务器的类路径中,然后使用本机配置文件加载它们。但这会破坏 Spring ConfigServer 的目的。

也请澄清在生产环境中 运行 spring 配置服务器的最佳方式是什么?

我直接从 12factor.net

应用有时会将配置存储为代码中的常量。这违反了十二要素,要求将配置与代码严格分离。配置在部署之间有很大差异,代码没有。

即使您不再将它们存储为常量,但仍然在同一个存储库中,与代码的分离还不够。使用单独的存储库进行配置。

您应该将代码库与配置设置分开。

回购 1:您的应用程序代码

回购 2:您的 Spring 云配置服务器代码

回购 3:您的配置设置

当您部署时,您正在部署代码。不是配置。配置更改不应需要新的部署。新部署 可能 需要更新配置更改,但这两者通常是分离的。

当代码为 运行 时,可以动态更新配置。这与更新代码和部署应用程序完全分开。这就是外部化配置的重点。

TL;DR:您看 "one code many deploys" 错了。配置已外部化。