简介

大家好,为了使开源项目的维护和管理更方便一些,出于个人需求写了一款开源项目的模板,该模板基于 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 开源项目模板. 嘎嘎实用!的更多相关文章

  1. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  2. GitHub 优秀的 Android 开源项目(转)

    今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...

  3. GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  4. 盘点 Github 所用到的开源项目

    http://www.php100.com/html/it/mobile/2014/0401/6736.html 在致力于开源事业的同时,Github也使用一些非常优秀的开源项目的来打造自己的平台与服 ...

  5. 【转】GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  6. GitHub优秀的Android 开源项目

    GitHub上优秀Android开源项目 转载自 : http://my.eoe.cn/sisuer/archive/3348.html http://my.eoe.cn/sisuer/archive ...

  7. 【Android 应用开发】GitHub 优秀的 Android 开源项目

    原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...

  8. [转]GitHub 优秀的 Android 开源项目

    GitHub 优秀的 Android 开源项目 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageV ...

  9. github上有android开源项目

    下面是一些比较好的开源项目,总共分为5大类,也许对某一些人有用,有些项目也许将来某一天对自己也有用,所以整理到此,希望对大家有帮助.首先声明非原创,这篇blog的目的是分享给那些可能需要的人. htt ...

  10. ImageSharp一个专注于NetCore平台图像处理的开源项目

    今天大家分享的是一个专注于NetCore平台图像处理的开源项目,老实说为这篇文章取名字想了5分钟,可能是词穷亦或是想更好的表达出这款开源项目的作用:这个项目在图像处理方面有很多功能,如:缩放,裁剪,绘 ...

随机推荐

  1. CentOS7 安裝DHCP服務並啟用DHCP failover

    1. 安裝dhcp服務 yum install -y dhcp 2. host1 vi /etc/dhcp/dhcpd.failover failover peer "dhcpfailove ...

  2. 功能测试--APP专项

    APP测试重点 APP测试与web测试的区别 APP测试常见问题 APP日志分析 APP压力稳定性测试

  3. 一、ptthon安装

    1.在 Window 平台上安装 Python 的简单步骤,打开 WEB 浏览器访问:www.python.org,选择Downloads 2.然后在该页面选择需要下载的版本, 3.下载完成后直接双击 ...

  4. beast加密

    Beast:  https://github.com/liexusong/php-beast?tdsourcetag=s_pctim_aiomsgbeast-安裝到/root------------- ...

  5. 【Golang】Demo

    并发控制 package main // demo 参考地址https://studygolang.com/articles/25950 import ( "github.com/siddo ...

  6. JS中报错处理 try catch finally的使用

    JS中标准报错处理通过 try catch finally ,使用格式 try { } catch (err) { } finally { } 代码1: try { console.log('顺序 1 ...

  7. vue 数组修改 页面无法刷新

    saveData: { current: 1, records:[] , total:0}, countSaveMoney:{ bidSuccessMoney:0, saveMoney:0},页面上有 ...

  8. spring-mvc.xml

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  9. [rk3568][common] 环境搭建

    1. 安装依赖 sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop \ git-cor ...

  10. 图像主题颜色提取(Median cut)

    前言 之前想对图片素材进行分类管理,除了打标签,还有一样是通过主题色进行分类.于是开始寻找能提取主主题色的工具,最后找到了大名鼎鼎的 Leptonica 库,其中就有中位切割算法的实现.下面附上中位切 ...