Skip to main content

Apollo 配置中心

1. 安装和运行

拉取代码(任何一个都可以)

# Github
git clone https://github.com/ctripcorp/apollo

# fastgit
git clone https://hub.fastgit.org/apolloconfig/apollo

# 或者Gitee
git clon https://gitee.com/apolloconfig/apollo.git

docker-compose运行 Apollo

2. 新增配置

  • 访问 Apollo 管理界面:http://localhost:8070
  • 创建一个命名空间(如:my_test)
    • 创建命名空间
    • 选择 Private
    • 选择 Json
  • 在命名空间内修改 json 配置
  • 发布

3. 在 NetCore 项目配置

Net5 项目

  1. Nuget 安装:Com.Ctrip.Framework.Apollo.Configuration
  2. appsettings.json 增加配置项 Apollo
  3. program.cs 的 IHostBuilder 调用方法配置(下方中间的那个 ConfigureAppConfiguration 方法里)
  4. 注意:使用 json 配置时,需要指定命名空间类型为 Json 类型,见下方 AddNamespace 代码
{
"Apollo": {
"AppId": "home_work",
"Env": "DEV",
"MetaServer": "http://192.168.124.220:8080",
"ConfigServer": ["http://192.168.124.220:8080"]
}
}
 public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)



.ConfigureAppConfiguration((hostingContext, builder) =>
{
LogManager.UseConsoleLogging(Com.Ctrip.Framework.Apollo.Logging.LogLevel.Trace);
builder.AddApollo(builder.Build().GetSection("Apollo"))
.AddNamespace("ms_user", Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Json)
.AddDefault();
})



.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});

Net6 项目

// 添加Apollo配置中心
builder.Host.ConfigureAppConfiguration((context, b) =>
{
LogManager.UseConsoleLogging(ApolloLogLevel.Trace);
b.AddApollo(configuration.GetSection("Apollo"))
.AddDefault()
.AddNamespace("home_work", Com.Ctrip.Framework.Apollo.Enums.ConfigFileFormat.Json);
});