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

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

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

1、你[是]或[想成为]一名.NET开源项目作者

2、你有一个.NET的开源项目,并在维护或迭代中

3、你被ISSUE/PR/CI/发布等问题所困扰

4、你喜欢研究 Github Action

5、单纯对标题感兴趣

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

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

1、现成的 issue 表单模板

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

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

2、issue 推荐功能

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

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

3、垃圾 issue 屏蔽用户

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

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

编码相关功能

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

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

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

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

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

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

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

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

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

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

测试相关功能

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

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

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

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

发布相关功能

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

1、NUGET 自动发版

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

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

归档相关功能

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

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

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

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

其他功能

自动的依赖检测机器人.

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

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

学习与使用

将项目https://github.com/night-moon-studio/Template fork 到你的仓库中, 然后 Setting 作为模板。

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