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

时间:2019-09-13 15:24:38

标签: spring-boot spring-cloud spring-cloud-config

有没有机会使Spring配置服务器仅克隆特定路径而不是整个git repo?当我在生产环境中运行它时,我可能不希望将我的整个代码库都克隆到某个位置,因为这总是有风险的。我已经完成了研究,无法找出仅克隆git repo特定路径的方法。

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

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

还请澄清在生产环境上运行spring config服务器的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

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

回购1:您的应用代码

回购2:您的Spring Cloud Config服务器代码

回购3:您的配置设置

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

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

TL; DR:您正在错误地查看“一个代码,许多部署”。配置已外部化。

答案 1 :(得分:1)

我直接从12factor.net上获取了

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

即使您不再将它们存储为常量,但仍位于同一存储库中,也无法与代码分开。使用单独的存储库进行配置。