go-jarvis 容器化 go 应用开发配置管理利器
go-jarvis/jarivs
为了方便 golang 容器化开发的时候管理配置。
核心功能
- 根据
config
结构体生成yaml
配置文件 - 程序启动时, 从
yaml
配置文件和 环境变量 中对config
赋值
执行逻辑
- 根据配置
config{}
生成对应的default.yml
配置文件。 - 读取依次配置文件
default.yml, config.yml
+分支配置文件.yml
+环境变量
- 根据 GitlabCI, 分支配置文件
config.xxxx.yml
- 如没有 CI, 读取本地文件:
local.yml
- 根据 GitlabCI, 分支配置文件
使用需求
config 对象中的结构体中, 使用
env:""
tag 才能的字段才会被解析到 default.yml 中。 也只有这些字段才能通过 配置文件 或 环境变量 进行初始化赋值。config 中的对象需要有
SetDefaults()
和Init()
方法。SetDefaults
方法用于结构体设置默认值Init
方法用于根据默认值初始化
demo 案例
初始化代码如下
|
|
生成的 yaml 配置文件
生成配置文件如下
|
|
在启动过程中, 如果环境变量中有同名变量, (例如 Demo__Server_port
), 该变量值将被读取, 并复制给对应的字段。
- 原文链接:https://typonotes.com/posts/2021/09/17/go-jarvis-config-manager/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。