基於 Github 平臺的 .NET 開源專案模板. 嘎嘎實用!

2023-04-26 18:00:28

簡介

大家好,為了使開源專案的維護和管理更方便一些,出於個人需求寫了一款開源專案的模板,該模板基於 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. 文章導航