基于 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. 文章导航
基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!的更多相关文章
- GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。
1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...
- GitHub 优秀的 Android 开源项目(转)
今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...
- GitHub 优秀的 Android 开源项目
转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...
- 盘点 Github 所用到的开源项目
http://www.php100.com/html/it/mobile/2014/0401/6736.html 在致力于开源事业的同时,Github也使用一些非常优秀的开源项目的来打造自己的平台与服 ...
- 【转】GitHub 优秀的 Android 开源项目
转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...
- GitHub优秀的Android 开源项目
GitHub上优秀Android开源项目 转载自 : http://my.eoe.cn/sisuer/archive/3348.html http://my.eoe.cn/sisuer/archive ...
- 【Android 应用开发】GitHub 优秀的 Android 开源项目
原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...
- [转]GitHub 优秀的 Android 开源项目
GitHub 优秀的 Android 开源项目 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageV ...
- github上有android开源项目
下面是一些比较好的开源项目,总共分为5大类,也许对某一些人有用,有些项目也许将来某一天对自己也有用,所以整理到此,希望对大家有帮助.首先声明非原创,这篇blog的目的是分享给那些可能需要的人. htt ...
- ImageSharp一个专注于NetCore平台图像处理的开源项目
今天大家分享的是一个专注于NetCore平台图像处理的开源项目,老实说为这篇文章取名字想了5分钟,可能是词穷亦或是想更好的表达出这款开源项目的作用:这个项目在图像处理方面有很多功能,如:缩放,裁剪,绘 ...
随机推荐
- nodejs mongo数据库连接、查询、显示
初学nodejs,涉及内容太多,总找不到如何能处理数据之间的交换.提取,显示.查找众多资料,终于调试成功,为免遗忘,特记录如下: 安装nodejs,mongo数据库在这里不做记录了. 1.编写serv ...
- Ubuntu解决无法远程连接
检查SSH是否安装 ssh localhost 如果没有安装,通过APT的命令安装 sudo apt install openssh-server 无法连接Ubuntu中的root用户 其他用户可以连 ...
- CVE-2016-2183(SSL/TLS)漏洞的办法
运行gpedit.msc,打开"本地组策略编辑器" 启用"SSL密码套件顺序" TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_ ...
- K8S Operator的开发与使用
从应用角度考虑,为什么会出现如此多的Operator场景,为什么很多中间件和厂商都会提供基于Operator的部署方案,他的价值是什么? 随着时代的发展,企业应用部署环境从传统的物理机->虚拟机 ...
- Flink双流消费kafka合并数据,并包含滑动窗口、算子、输出到MySQL的示例
Java示例 import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.java.fu ...
- 一篇博客带你学会MyBatis
概念 MyBatis是一款持久层框架,用于简化JDBC操作(JavaEE三层架构:表现层(用来做页面的代码),业务层(业务逻辑代码),持久层(对数据库操作的代码))(框架就是一个半成品软件,是一套可重 ...
- Linux & 标准C语言学习 <DAY8_1>
一.进制转换 1.为什么要使用二进制.八进制.十六进制 因为目前的CPU只能识别高低两种电平,只能对二进制数据进行计算 二进制虽然能够直接被计算机识别,但是不方 ...
- 基于对象的实时空间音频渲染丨Dev for Dev 专栏
本文为「Dev for Dev 专栏」系列内容,作者为声网音频算法工程师 李嵩. 随着元宇宙概念的引入,空间音频这项技术慢慢映入大家的眼帘.关于空间音频的基础原理,我们做过一期科普视频 -- 「空间音 ...
- MyBatisPlus---DQL编程控制
MP将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合. 一.条件查询 package com.itheima; import com.baomidou.mybatisplus.c ...
- MyBatisPlus--入门
入门案例 MyBatisPlus(MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发.提高效率. 1.新建springboot项目(版本2.5.0),仅保留JDBC 添加mybatis ...