前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AgileConfig 轻量级配置中心 1.5 发布 - 支持多环境配置

AgileConfig 轻量级配置中心 1.5 发布 - 支持多环境配置

作者头像
MJ.Zhou
发布2021-10-26 10:17:28
5540
发布2021-10-26 10:17:28
举报
文章被收录于专栏:.NET开发那点事.NET开发那点事

AgileConfig 从发布到现在,收到不少同学的 issue 说需要多环境的支持。也就是一个应用在不同的环境下可以配置不同的配置项。这是一个非常有用的功能,就跟我们开发的时候会设置多个 appsettings.json 文件一样,比如 appsettings.development.json 、appsetting.production.json 等等。那么这次 1.5 版本就为大家带来了这个功能。 下面介绍下如何使用多环境配置功能。

运行控制台节点

拉取最新的 latest 或者 release-1.5.0 的 docker 镜像,运行控制台节点即可支持多环境配置。

代码语言:javascript
复制
sudo docker run \
--name agile_config \
-e adminConsole=true \
-e db:provider=sqlite \
-e db:conn="Data Source=agile_config.db" \
-p 5000:5000 \
-v /etc/localtime:/etc/localtime \
#-v /your_host_dir:/app/db \
-d kklldog/agile_config:release-1.5.0

节点运行起来后,在配置项管理界面的右上角即可切换环境。

5foyh8.png
5foyh8.png

自定义环境

AgileConfig 默认内置了 DEV, TEST, STAGING, PROD 四个常用的环境,如果用户觉得不够用或者不想要那么多环境的话可以进行自己定义。 找到数据库的 agc_setting 表,对其中 id = environment 的行进行修改。配置名称之间使用英文输入状态的逗号分隔。

5fostf.png
5fostf.png

为环境单独配置数据库

AgileConfig 默认情况下会把所有的配置项都存储在 db:conn 指定的数据库下面。但是对于多环境来说,集中式的配置存储显然不太合适。特别是对于生产环境来说不太可能跟开发测试环境都部署在同一个数据库上。AgileConfig 支持对某个环境配置单独的数据库。 在启动节点的时候为某个环境单独配置数据库:

代码语言:javascript
复制
-e db:env:TEST:provider=mysql \
-e db:env:TEST:conn= "Database=agile_config_test;Data Source=192.168.0.111;User Id=dev;Password=dev@123;port=3306" \

-e db:env:PROD:provider=mysql \
-e db:env:PROD:conn= "Database=agile_config_prod;Data Source=192.168.0.1111;User Id=dev;Password=dev@123;port=3306" \

客户端

为配合 AgileConfig 1.5 版本请使用 AgileConfig.Client 1.2 及以上版本。

代码语言:javascript
复制
Install-Package AgileConfig.Client -Version 1.2.1

在配置文件上指定环境参数,如果不配置那么默认为 DEV 环境。

代码语言:javascript
复制
{
  "AgileConfig": {
    "appId": "test_app",
    "secret": "",
    "env": "DEV"
    "nodes": "http://localhost:5000",
    "name": "client1",
    "tag": "tag1",
  }
}

关于升级

如果从1.4版本升级上来的话,那么请对以下表手动添加 env 字段 ,并且更新这个字段的值为你想要设置的环境。

代码语言:javascript
复制
agc_config;
agc_config_published;
agc_publish_detail;
agc_publish_timeline;

以 mysql agc_config 表为例:
alter table agc_config add env varchar(50);
update set agc_config set env = 'DEV' where 1=1;

最后

✨✨✨Github地址:https://github.com/dotnetcore/AgileConfig 开源不易,欢迎star✨✨✨

演示地址:http://agileconfig_server.xbaby.xyz/ 超级管理员账号:admin 密码:123456

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行控制台节点
  • 自定义环境
  • 为环境单独配置数据库
  • 客户端
  • 关于升级
  • 最后
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档