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/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。


