Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 仅克隆特定路径-Spring云配置服务器_Spring Boot_Spring Cloud_Spring Cloud Config - Fatal编程技术网

Spring boot 仅克隆特定路径-Spring云配置服务器

Spring boot 仅克隆特定路径-Spring云配置服务器,spring-boot,spring-cloud,spring-cloud-config,Spring Boot,Spring Cloud,Spring Cloud Config,有没有可能让spring配置服务器只克隆特定路径而不是整个git repo?当我在生产环境中运行它时,我可能不希望我的整个代码库被克隆到某个位置,因为这总是一个风险。我已经做了研究,无法找到只克隆git回购的特定路径的方法 一种解决方案是在单独的回购中托管配置。但这将违背许多人建议的12factor.net的一个代码的目的 另一种可能是将属性复制到配置服务器的类路径中,然后使用本机概要文件加载它们。但这将破坏SpringConfigServer的用途 另外,请澄清在生产环境中运行spring c

有没有可能让spring配置服务器只克隆特定路径而不是整个git repo?当我在生产环境中运行它时,我可能不希望我的整个代码库被克隆到某个位置,因为这总是一个风险。我已经做了研究,无法找到只克隆git回购的特定路径的方法

一种解决方案是在单独的回购中托管配置。但这将违背许多人建议的12factor.net的一个代码的目的

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


另外,请澄清在生产环境中运行spring config server的最佳方式是什么?

我直接从12factor.net获取了这一信息

应用程序有时会将配置存储为代码中的常量。这违反了12个因素,这要求将配置与代码严格分离。配置在不同的部署中有很大差异,而代码则没有


即使您不再将它们作为常量存储,但仍然在同一个存储库中,也不足以将它们与代码分离。对配置使用单独的存储库

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

Repo 1:你的应用程序代码

repo2:Spring云配置服务器代码

repo3:您的配置设置

在部署时,就是在部署代码。不是配置。配置更改不应需要新的部署。新的部署可能需要更新配置更改,但两者通常是解耦的

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


TL;DR:您看到的是一个代码,许多部署错误。配置是外部化的。

您应该为配置使用单独的回购协议,但根据microservices中的12个因素,如果我们为配置使用单独的代码库,则会使一个代码库多次部署无效,对吗?我们将此视为外部化配置,与env中的12factor.net配置稍有不同。但此外部化配置是针对微服务的,因此我尝试遵循12factor.net配置建议。我不确定该说什么,但创建单独的repo来存储配置再次违反了许多部署的一个代码。请检查问题评论,以便进行相同的讨论。我在12factor.net页面上找不到多个部署的代码。我想这取决于你对部署的定义。更新git存储库通常不被视为部署。这就是我所困惑的。