3 Star 23 Fork 2

IoTSharp/Extensions.Configuration.GitRepository

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

IoTSharp/Extensions.Configuration.GitRepository

项目概述

Git repository configuration provider 是一个用于管理和加载配置文件的库,专门为 C# 开发者设计。它允许开发者从 Git 仓库中直接读取配置文件,以便在分布式系统或微服务架构中实现集中配置管理和版本控制。

Build status Issues Open NuGet Version NuGet Count

配置存储平台

此项目现在新增了从以下平台获取配置文件的支持:

Git仓库 Git 文件 代码段 版本 下载量
Gitee NuGet Version NuGet Count
GitLab NuGet Version NuGet Count
Gitea NuGet Version NuGet Count
GitHub NuGet Version NuGet Count

通过此功能,您可以从上述平台的 Git 仓库中直接获取配置文件,进一步扩展了配置的来源,方便在多平台环境下管理和加载配置文件。

主要功能

  • 从 Git 仓库加载配置:允许你从指定的 Git 仓库中加载配置文件,支持多种格式(如 JSON、YAML 等)。
  • 版本控制:借助 Git 的强大功能,轻松跟踪配置文件的变更历史,确保配置的可追溯性和版本管理。
  • 动态刷新:支持动态刷新配置文件,当 Git 仓库中的配置文件发生变化时,可以自动更新配置。
  • 灵活的配置源:支持从多个分支或标签中读取配置,适应不同环境(开发、测试、生产)下的配置需求。
  • 安全性:通过 SSH 或 HTTPS 访问 Git 仓库,确保配置文件的安全传输和访问控制。

使用场景

  • 分布式系统:在分布式系统中,集中管理和分发配置文件,确保各个服务的一致性和可管理性。
  • 微服务架构:在微服务架构中,通过 Git 仓库统一管理配置文件,简化配置管理流程。
  • 动态配置管理:适用于需要动态更新配置的场景,比如配置文件频繁变更的应用程序。
  • 版本控制:在需要严格版本控制和变更管理的场景下,利用 Git 的版本控制功能,确保配置文件的可追溯性。

安装和使用

安装

你可以通过 NuGet 包管理器安装此库。运行以下命令安装:

dotnet add package Extensions.Configuration.GitRepository

示例代码

以下是一个简单的示例,展示如何使用此库从 Git 仓库中加载配置文件:

using Microsoft.Extensions.Configuration;
using Extensions.Configuration.GitRepository;

public class Program
{
    public static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .AddGitRepository(options =>
            {
                options.RepositoryUrl = "https://gitlab.com/your-repo.git";
                options.Branch = "main";
                options.FilePath = "appsettings.json";
                options.PollingInterval = TimeSpan.FromMinutes(5);
            });

        IConfiguration configuration = builder.Build();

        string mySetting = configuration["MySetting"];
        Console.WriteLine($"MySetting: {mySetting}");
    }
}

贡献指南

我们欢迎社区贡献者的参与。你可以通过以下方式贡献:

  • 报告问题:在 GitHub 的 Issues 页面报告 Bug 或提出功能建议。
  • 提交 PR:修复 Bug 或添加新功能,并通过 Pull Request 提交代码。
  • 文档改进:帮助改进项目的文档,使其更加清晰和易于理解。

许可证

该项目基于 MIT 许可证,详情请参阅 LICENSE 文件。

感谢

灵感来源于 https://github.com/denis-ivanov/Extensions.Configuration.GitLab

MIT License Copyright (c) 2021 Denis Ivanov https://github.com/denis-ivanov/Extensions.Configuration.GitLab/ Copyright (c) 2025 IoTSharp Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Git仓库配置提供程序是一个用于管理和加载配置文件的库,专门为 C# 开发者设计。它允许开发者从 Git 仓库中直接读取配置文件,以便在分布式系统或微服务架构中实现集中配置管理和版本控制。 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/IoTSharp/Extensions.Configuration.GitRepository.git
git@gitee.com:IoTSharp/Extensions.Configuration.GitRepository.git
IoTSharp
Extensions.Configuration.GitRepository
Extensions.Configuration.GitRepository
main

搜索帮助