git2consul接受一个或者多个git存储库,并将它的镜像到consul KVs 。 使consul KVs 支持git管理。
安装git2consul
npm install -g git2consul
编写git2consul配置文件
- 创建 git2consul.json(名称随意,Json格式)
{
"version": "1.0",
"local_store": "本地仓库备份地址", // 填写本机路径,会把git clone 下来
"logger": { // 配置日志信息
"name": "git2consul",
"streams": [
{
"level": "trace",
"type": "rotating-file",
"path": "./git2consul.log"
}
],
"repos": [ // 远程仓库 可以有多个
{
"name": "根目录名称",
"url": "git 地址",
"include_branch_name": true, //分支信息是否包含到请求中,建议使用
"branches": [
"master" // 分支名称
],
"hooks": [
{
"type": "polling",
"interval": "1" // 1分钟,分钟级别,必须为整数
}
]
}
]
}
- 启动git2consul
可以选择指定端口和host
git2consul --config-file git2consul.json -e localhost -p 8500
编写Spring 配置文件
这里使用yaml格式
server:
port: 8006
spring:
application:
name: test
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
format: files # 数据对应的格式,files:会尝试遍历符合条件的文件去拉去信息
# 对应consul KVs上的路径,启动时会在这个路径下拉起符合条件的信息
# ${spring.application.name} 对应 git2consul.json repos 中的name
# ${spring.profiles.active} 对应 git2consul.json repos 中的master
prefix: ${spring.application.name}/${spring.profiles.active}
discovery:
instance-id: ${spring.application.name}:${spring.cloud.consul.discovery.hostname}:${server.port}
hostname: localhost
启动spring 会自动获取配置中心的配置