Agileconfig 已支持restful api 维护配置

AgileConfig AgileConfig是一个基于.net core开发的轻量级配置中心。 AgileConfig秉承轻量化的特点,部署简单、配置简单、使用简单、学习简单,它只提取了必要的一些功能,并没有像Apollo那样复杂且庞大。但是它的功能也已经足够你替换webconfig,appsettings.json这些文件了。如果你不想用微服务全家桶,不想为了部署一个配置中心而需要看N篇教程跟几台服务器那么你可以试试AgileConfig :) [Read More]

Agileconfig 如何使用agileconfig.client读取配置

前面的文章都是介绍AgileConfig服务端已经控制台是如何工作、如何使用的,其实AgileConfig还有一个重要的组成部分:AgileConfig.Client。 AgileConfig.Client是使用C#编写的一个类库,只有使用它才能跟AgileConfig的服务端配合工作实现实时推送配置信息等功能。 最近有几个同学问我如何集成Client,如何使用Client,看来光是Readme上的示例还是不够的,有必要比较详细的介绍下如何使用AgileConfig.Client。 下面通过几个示例来演示下如何AgileConfig.Client如何在mvc,控制台,wpf等程序上来读取配置: asp.net core mvc下读取配置 mvc项目应该是目前使用最广泛的项目,同样它与AgileConfig.Client的集成最深入。下面来看看如何在mvc项目下使用AgileConfig.Client。 安装AgileConfig.Client Install-Package AgileConfig.Client 当然第一步是使用nuget命令安装最新版的Client库。 修改appsettings.json "AgileConfig": { "appId": "test_app", "secret": "", "nodes": "http://agileconfig.xbaby.xyz:5000" } AgileConfig.Client连接服务端需要一点必要的信息,我们把这些信息配置在appsettings.json文件里。节点的名称叫“AgileConfig”,里面配置了: appId 应用id secret 应用密钥,没有的话留空 nodes 节点地址,如果有多个则使用英文逗号(,)分隔 AddAgileConfig 修改program.cs文件: public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, config) => { //注入AgileConfig Configuration Provider config.AddAgileConfig(); }) .ConfigureWebHostDefaults(webBuilder => {... [Read More]

Azure应用服务+github实现持续部署

上次我们介绍了如果使用Azure应用服务。我们通过Visual studio新建一个项目后手动编译发布代码。然后通过FTP上传我们的发布文件。整个过程跟我们手动发布项目到IIS上其实没啥差别。 这么操作有点繁琐,显然在这年头也有点过时了。这次我们来玩一下azure应用比较高级的持续部署。说高级其实也很简单,Azure现在跟github有比较深入的集成,只有通过鼠标点几下,立马就完成了。 话不多说,下面就演示下吧。 配置部署中心 如何新建应用服务因为前面讲过了就不在赘述了。直接从配置部署中心开始吧。 点击侧边“部署中心”,在弹出的页面上选择“Github”。 点击“继续”弹出github授权界面。 点击“Authorize AzureAppService”同意授权。 点击“下一步”配置生成提供程序,选择“Github Actions”。 点击“下一步”弹出配置界面,这个页面可以选择github上的仓库。 我随便选一个以前提交上去的RazorpageCrudDemo吧。分支选择master。运行时堆栈选择:.net core,版本 .net core 3.1 lts 。 ``` Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy More GitHub Actions for Azure: https://github.com/Azure/actions [Read More]

Agileconfig轻量级配置中心 1.1.0发布,支持应用间配置继承

AgileConfig轻量级配置中心自第一个版本发布不知不觉已经半年了。在并未进行什么推广的情况下收到了250个star,对我有很大的鼓舞,并且也有不少同学试用,并且给出了宝贵的意见,非常感谢他们。其中有一些意见非常好,但是一直没有开发。主要是一来下半年比较忙(懒),二来我不想把AgileConfig搞的过于复杂。但其中有个需求被很多同学提及过,就是希望能支持应用间的继承(关联),类似Apollo的公共namespace的概念。比如微服务应用之间有不少公共配置项,可以配置在一个应用内,然后其他应用继承它,这样每个应用就不用重复的配置公共配置。我思考了一下,这个配置确实是个非常有用的功能,于是花了点时间实现了它。 Github地址:https://github.com/kklldog/AgileConfig 求star 。 下面的示例简单演示下如何使用AgileConfig读取配置并且使用继承功能 使用docker启动一个AgileConfig实例 ``` sudo docker run –name agile_config -e adminConsole=true -e db:provider=sqlserver -e db:conn=”Persist Security Info = False; User ID =dev; Password =dev@123,; Initial Catalog =agile_config_test; Server =.” -p 5000:5000 kklldog/agile_config:latest [Read More]

Azure 静态web应用集成azure函数api

前几次我们演示了如何通过Azure静态web应用功能发布vue跟blazor的项目(使用 Azure静态web应用+Github全自动部署VUE站点、使用Azure静态Web应用部署Blazor Webassembly应用)。但是一个真正的web应用,总是免不了需要后台api服务为前端提供数据或者处理数据的能力。同样前面我们也介绍了Azure函数服务,Azure函数的http trigger可以对http作出响应,可以完美的承当web api的角色。现在Azure静态web应用可以直接集成Azure函数,使得一次发布可以同时发布前端项目(vue、blazor)及后台api服务(azure函数)。 新建Azure函数 上次已经演示过如何发布Blazor项目,这里不在啰嗦,直接找到我们上次的BlazorWebassembly项目的解决方案,添加一个Azure函数。 Azure函数使用Http trigger。Http trigger可以对http请求作出响应,可以看成是一个webapi。 新建完成之后修改Function1.cs类的代码为: ``` public static class Function1 { [FunctionName(“sum”)] public static async Task Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); [Read More]