仅克隆特定路径 - 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" 错了。配置已外部化。
有什么方法可以让 spring 配置服务器仅克隆特定路径而不是整个 git 存储库?当我 运行 在生产中使用它时,我可能不希望我的整个代码库被克隆到某个位置,因为这总是有风险的。我已经完成了研究,但无法找到仅克隆 git 回购的特定路径的方法。
一种解决方案是将配置托管在单独的存储库中。但这会破坏 一个代码许多部署 12factor.net 建议的目的。
另一种可能性是将属性复制到配置服务器的类路径中,然后使用本机配置文件加载它们。但这会破坏 Spring ConfigServer 的目的。
也请澄清在生产环境中 运行 spring 配置服务器的最佳方式是什么?
我直接从 12factor.net
应用有时会将配置存储为代码中的常量。这违反了十二要素,要求将配置与代码严格分离。配置在部署之间有很大差异,代码没有。
即使您不再将它们存储为常量,但仍然在同一个存储库中,与代码的分离还不够。使用单独的存储库进行配置。
您应该将代码库与配置设置分开。
回购 1:您的应用程序代码
回购 2:您的 Spring 云配置服务器代码
回购 3:您的配置设置
当您部署时,您正在部署代码。不是配置。配置更改不应需要新的部署。新部署 可能 需要更新配置更改,但这两者通常是分离的。
当代码为 运行 时,可以动态更新配置。这与更新代码和部署应用程序完全分开。这就是外部化配置的重点。
TL;DR:您看 "one code many deploys" 错了。配置已外部化。