基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!

简介

大家好,为了使开源项目的维护和管理更方便一些,出于个人需求写了一款开源项目的模板,该模板基于 Github 平台,并使用 .NET 来实现管道功能.
在接受过实战检验后, 于今天开源, 项目地址:https://github.com/night-moon-studio/Template

定位

以下5种境地的同学可以继续往下读一读:

  • 你[是]或[想成为]一名.NET开源项目作者.
  • 你有一个.NET的开源项目,并在维护或迭代中.
  • 你被ISSUE/PR/CI/发布等问题所困扰.
  • 你喜欢研究 Github Action.
  • 单纯对标题感兴趣.

下面将从需求->开发->测试->发布->归档这个流程来讲, 功能的配置及原理将在后面几篇中讲解,本篇仅展现功能:

需求相关功能

说到开源项目的需求,不得不提 ISSUE, 所以以用户反馈一个 BUG/建议/问答/期待 为起点来谈以下这款模板带来的便捷功能;

1. 现成的 issue 表单模板:



表单提交后会自动打上你希望归类的 Label. 比如提BUG会打上一个红色的 bug label.

2. issue 推荐功能

issue 被提交后, 管道将运行推荐功能, 从过往的 issue 中挑选出一定相似度的 issue 并推荐给提问者.

3. 垃圾 issue 屏蔽用户

如果有捣乱的人开 issue 问候您的家人, 给它来个 aaa-block-user 标签, 管道运行后会拉黑他, 并自动删除当前 issue.

编码相关功能

1. 提交 pr 自动归类, 太直观了直接看图.

2. 提交 pr 自动运行跨平台的 UT 测试, 当然了具体测什么您自己写.

3. 推荐一定相似度的 ISSUE 给 PR, 相似度区间和推荐数量您是可以自己配置的,以后讲.

4. pr 成功合并后, 将被自动归档到 {ProjectName}_VNext 计划中, 图隐藏了一些, 仅展示有用部分.

5. Src 工程自动生成全局 Using 引用.

测试相关功能

和我们正规项目不一样, 实际上测试包含了两个部分:

  • 1. 开发时测试就是上面的 PR 自动触发的测试;

  • 2. 发布时测试, 测试并上传覆盖率文件;

发布相关功能

发布前需要编辑 CHANGELOG.md (后面有篇专门介绍发布的文章会讲)

1. NUGET 自动发版:

管道功能会根据你 CHANGELOG 的最新节点信息匹配工程节点, 然后进行自动发版并推送到 NUGET , 很具体的发版错误提示.


归档相关功能

1. 自动帮您的仓库发布 release 信息.

2. 自动归档当前计划,当前的 {ProjectName}_VNext 变为您发布的主版本;随后会新建一个 {ProjectName}_VNext 计划

其他功能

自动的依赖检测机器人.



这 PR 给的信息是真全啊, 不展开看了.

学习与使用

1. 将项目 fork 到你的仓库中, 然后 Setting 作为模板.

2. 文章导航

posted @ 2023-04-26 14:56  AzulX  阅读(3609)  评论(7编辑  收藏  举报