基于 Github 平台的 .NET 开源项目模板 - 发布与归档 相关
CHANGELOG.md
案例
## [1.0.1.2] - 2023-03-10
### myproject2 _ 1.0.1:
- 初步版本 简单实现 还未优化
- fix warning
## [1.0.2] - 2023-03-10
### mynuget _ v4.0.0.0:
- 初步版本 简单实现 还未优化
### xxx.xxx _ v1.2.0:
- 初步版本 简单实现 还未优化
- fix warning
### myproject1 _ v3.2.0-beta.2:
- 初步版本 简单实现 还未优化
- fix warning
### myproject2 _ 1.0.0:
- 初步版本 简单实现 还未优化
- fix warning
解析
- 1.0.1.2 / 1.0.2 这两个是主要发版版本, 也就是您 github 页面呈现的 release 版本号.
- myproject2 _ 1.0.1 / mynuget _ v4.0.0.0 / myproject2 _ 1.0.0 这些是工程发布版本号, 也就是您要推送到 nuget 上的包名以及版本号.
- myproject2/mynuget 等包名必须在工程文件csproj 中指明,即
<PackageId>mynuget</PackageId>
. - {package_name} _ v4.0.0.0 / v1.2.0 / v3.2.0-beta.2 这些版本号若带后缀,必须符合 nuget 发版规范, 比如 alpha/beta 等写法.
注意工程必须开启打包功能:
<IsPackable>true</IsPackable>
原理
版本号不需要在工程文件中填写,因为模板是以 CHANGELOG.md 的节点版本为主.
比如:在以上案例中, mynuget 即将发布的版本是 v4.0.0.0 , 它将在 CI 环境中被打包成 v4.0.0.0 版本,并推送到 nuget 服务器上.
注意事项
- 您的 CHANGELOG.md 节点名称必须与您工程文件中打包名匹配, 否则单元测试将不会推送这个包,实际上它也找不到这个包.
- 可重复推送, 管道功能会检测包版本, 在没有高版本时它将不会推送到服务器.
- 如果您发布的 CHANGELOG.md 中, 有多个包,但只有一个包能成功推送, 那么管道也会标识成功.
注意 CHAMGELOG.md 改完之后推送到主分支上. 如果需要更改触发条件, 配置文件在.github\workflows\release.yml
发布功能:
1. 发布 github release 信息
管道将根据 CHANGELOG.md 文件的节点版本记录自动发布 release 信息. 请将之前的版本放在注释里或者归档到其他地方,否则发新版时将会携带旧版本的信息.
重复触发管道不会有异常和例外情况,允许重复触发,每次重复触发都将会更新 release.
2. 推送 nuget
管道将根据 CHANGELOG.md 文件最后一个节点, 自动发布 nuget 包(含符号).
重复触发管道不会有异常和例外情况, 允许重复触发.
3. 归档计划
将当前的 {项目名}_VNext 计划归档到具体版本计划, 然后创建一个新的 {项目名}_VNext 计划.
重复触发管道不会有异常和例外情况, 当已存在归档计划时,管道将不会继续运行.
注意,多次触发并不会产生并发问题, 该管道功能中, 3个功能为并发执行, 但多管道运行需要排队.
4. 覆盖率文件上传
覆盖率文件属于同时运行的另一个管道,它将根据 project.yml 节点配置生成覆盖率配置文件.
同为 test 节点, 与单元测试不同, 配置覆盖率上传的选项为: trigger_codecov, 设置为 true 即可.
如果您的覆盖率文件生成需要特定的.NET环境, 您可以在 .github\NMS_TEMPLATE\codecov.yml.template 中进行配置.
学习与使用
1. 将项目 fork 到你的仓库中, 然后 Setting 作为模板.
2. 文章导航
基于 Github 平台的 .NET 开源项目模板 - 发布与归档 相关的更多相关文章
- 基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!
简介 大家好,为了使开源项目的维护和管理更方便一些,出于个人需求写了一款开源项目的模板,该模板基于 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 ...
随机推荐
- python的命名风格(下划线篇)
一个下划线开头的代表模块私有 用from xxx import * 时python会自动屏蔽带下划线的东西,想要取消屏蔽可以用__all__方法,但不建议(不符合规范) 两个下划线开头的代表类私有
- WinForm DevExpress 添加行内按钮
1.在设计器里面添加一列,设置单元格不可编辑.只读属性 2. 在所在GridView属性里面添加CustomDrawCell事件与RowCellClick事件 private void gvMain_ ...
- js玩儿爬虫
前言 提到爬虫可能大多都会想到python,其实爬虫的实现并不限制任何语言. 下面我们就使用js来实现,后端为express,前端为vue3. 实现功能 话不多说,先看结果: 这是项目链接:https ...
- sql server create table 给字段添加注释说明
EXEC sys.sp_addextendedproperty @name=N'MS_Description',@level1name=N'a_jcgl_data',@level2name=N'id' ...
- [python][selenium] Web UI自动化页面切换iframe框架
关联文章:Web UI自动化8种页面元素定位方式 1.切换iframe的方法:switch_to.frame 入参有4种: 1.1.id 1.2.name 1.3.index索引 1.4.i ...
- LeetCode 验证二叉搜索树的两种不同题型
一.leetcode 98. 验证二叉搜索树 通过辅助函数增加参数进行判断. 虽然节点值在INT范围内,但要求其中序遍历序列严格单调递增,因此等于也不行,而且需要用LONG_MIN\LONG_MAX初 ...
- 宝塔安装onlyoffice
1. 拉取镜像 docker pull onlyoffice/documentserver 2. 构建容器 进入宝塔管理面板->docker->镜像,可以看到镜像已被安装成功 配置容器参数 ...
- Blazor静态服务端呈现(静态SSR)身份认证
本文介绍 Blazor 静态服务端呈现(静态 SSR)模式下,用户登录身份认证是如何实现的. 1. SSR 简介 SSR 是服务器侧呈现,HTML 是由服务器上的 ASP.NET Core 运行时生成 ...
- 更改后端的数据格式适配el-tree组织树
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- 华为Ensp拓扑,使用MSTP、OSPF、DHCP、VRRP、链路聚合、CHAP
OSPF+DHCP+VRRP+Eth-trunk+PPP(CHAP)+MSTP 实验目标: LSW1和LSW2核心交换机互为备份,配置链路聚合,设备冗余设计,LSW1和LSW2作为核心交换机配置DHC ...