我浏览了Spring Cloud Config的文档,了解到Spring更喜欢使用Git作为配置存储库,因为它支持标记/分支等,而且它也是Spring Cloud Config的默认选项。
现在我有两个问题
- 我习惯于将所有属性存储在服务器上(12因素应用程序原则之一(。因此,我很困惑为什么Git repo被建议用于组织内的其他人很容易看到的配置,尤其是在存储生产配置时
- 我的第二个问题是关于存储{cipher}ed属性文件中的值。同样,尽管值是加密的,但仍然将加密的文本保存在Git中似乎不是一个好方法
请求任何人提供有关这些问题的见解。
您可以禁用Git ssl配置-git-config--全局http.sslVerify false
创建一个Git个人访问令牌。使用令牌保存在spring.cloud.config.token属性中。在application.yml 中使用以下配置
服务器:
git:
uri: https://github.com/AKS/config/
OR
uri: file:///AKS/config/
skipSslValidation: true
search-paths:
- config-map
try-master-branch: false
username: user
password: ******
default-label: <branch-name-git-branch>
clone-on-start: true
您可以将配置服务器与存储在主机上的本地属性文件一起使用。为此,您只需要使用具有以下属性的本机profile
spring.profiles.active=native
spring.cloud.config.server.native.searchLocations=file:///C:/path/to/your/config/folder
然后不再需要以下属性来设置Git回购:
#spring.cloud.config.server.git.uri=...
#spring.cloud.config.server.git.username=...
#spring.cloud.config.server.git.password=...
#spring.cloud.config.server.git.timeout=10
#spring.cloud.config.server.git.clone-on-start=true