AgileConfig 從發布到現在,收到不少同學的 issue 說需要多環境的支持,也就是一個應用在不同的環境下可以配置不同的配置項,這是一個非常有用的功能,就跟我們開發的時候會設定多個 appsettings.json 檔案一樣,比如 appsettings.development.json 、appsetting.production.json 等等,那么這次 1.5 版本就為大家帶來了這個功能,
下面介紹下如何使用多環境配置功能,
運行控制臺節點
拉取最新的 latest 或者 release-1.5.0 的 docker 鏡像,運行控制臺節點即可支持多環境配置,
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
節點運行起來后,在配置項管理界面的右上角即可切換環境,

自定義環境
AgileConfig 默認內置了 DEV, TEST, STAGING, PROD 四個常用的環境,如果用戶覺得不夠用或者不想要那么多環境的話可以進行自己定義,
找到資料庫的 agc_setting 表,對其中 id = environment 的行進行修改,配置名稱之間使用英文輸入狀態的逗號分隔,

為環境單獨配置資料庫
AgileConfig 默認情況下會把所有的配置項都存盤在 db:conn 指定的資料庫下面,但是對于多環境來說,集中式的配置存盤顯然不太合適,特別是對于生產環境來說不太可能跟開發測驗環境都部署在同一個資料庫上,AgileConfig 支持對某個環境配置單獨的資料庫,
在啟動節點的時候為某個環境單獨配置資料庫:
-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 及以上版本,
Install-Package AgileConfig.Client -Version 1.2.1
在組態檔上指定環境引數,如果不配置那么默認為 DEV 環境,
{
"AgileConfig": {
"appId": "test_app",
"secret": "",
"env": "DEV"
"nodes": "http://localhost:5000",
"name": "client1",
"tag": "tag1",
}
}
最后
???Github地址:https://github.com/dotnetcore/AgileConfig 開源不易,歡迎star???
演示地址:http://agileconfig_server.xbaby.xyz/ 超級管理員賬號:admin 密碼:123456
關注我的公眾號一起玩轉技術

QQ群:1022985150 一起探討學習.NET技術
作者:Agile.Zhou(kklldog)
出處:http://www.cnblogs.com/kklldog/
本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/335025.html
標籤:.NET Core
