GitHub的CI实践(xUnit / OpenCover /Appveyor / Coveralls.net)
最近利用业余时间实现.ner core
版本的 casbin
,即 Casbin.NET。之前的CI都使用的是公司搭建的jenkins
和gitlab-runner
,对开源社区的工具链并不是很熟悉,在casbin
的原作者(hsluoyz )的“要求”下,只能被迫在项目的README.md
加入下面这些徽标:
NOTE:其实我只加了coverage
和 appveyor build
徽章。
使用的工具和平台如下:
Appveyor
OpenCover
coveralls
coveralls.net
dotnet core 2.x
Appveyor 和 coveralls的注册以及github授权就略过不提。然后,只需要在项目中放入.appveyor.yml
配置文件配置就算是完成了。此处关注配置文件和实际过程中碰到的一些坑。
坑
错误1:
导致这个错误的原因很简单,使用正确的包版本(nuget install xunit.runner.console -OutputDirectory packages -Version 2.3.1
),还有就是单元测试项目NetCasbin.UnitTest.csproj
的目标平台过高<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
,改成<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
。
错误2:
和错误1相同单元测试项目
NetCasbin.UnitTest.csproj
的目标平台过高<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
,改成<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
。错误3:
导致这个错误的原因其实是.appveyor.yml
配置文件中定义的环境变量COVERALLS_REPO_TOKEN
的secure
的值错误,正确的值应该是原始coveralls中项目的COVERALLS_REPO_TOKEN
的密文,appveyor
也提供了加密的工具 https://ci.appveyor.com/tools/encrypt,将密文作为COVERALLS_REPO_TOKEN
的secure
的值即可。
错误4:
如果上面的问题都排除了还有下面的问题:
那需要在项目的.csproj
文件中加入<DebugType>full</DebugType>
。
最后要说的是,营造一个好的.net core生态需要每一位喜欢c#语言的coder参与者,这里希望能够通过github 的CI实践,抛砖引玉,吸引更多的参与者加入到开源社区。
下一篇文章:一个权限引擎的作用,Cabin.NET的使用
原文地址:https://www.cnblogs.com/centcore/p/11146488.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
GitHub的CI实践(xUnit / OpenCover /Appveyor / Coveralls.net)相关推荐
- 《GitHub入门与实践》
2019独角兽企业重金招聘Python工程师标准>>> <GitHub入门与实践> 从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他 ...
- 直播 | 基于 GitLab 的 CI 实践
分享时间:7月24日 20:30 分享主题:基于 GitLab 的 CI 实践 分享人介绍:张晋涛,网易资深运维开发工程师,负责推进 DevOPS 的实践落地,以及容器化及自动化平台的规划建设等. 分 ...
- 《GitHub入门与实践》读书笔记
已经工作两年半,工作一开始就开始使用git,日常开发基本无压力,偶尔遇到提交冲突,Google一下也可以解决问题.鉴于查漏补缺的读书需求,还是快速但细致地看一遍本书,写下以下读书笔记. 记录的都是一些 ...
- GitHub入门与实践pdf
下载地址:网盘下载 内容简介 · · · · · · 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将 ...
- Flutter GitHub Travis CI 搭建
通过 Travis CI 连接 GitHub 上的 Flutter 项目, 实现持续集成: 代码扫描, 测试, 打包发布 release. Install Android SDK os: linuxl ...
- .NET Core+Selenium+Github+Travis CI =amp;gt; SiteHistory
前言 总是三分钟热度的我折腾了一个可以每天自动截取指定网站页面并保存到Github的项目SiteHistory,感觉挺好(每次都这样 frameborder="0" scrolli ...
- 【请收藏】自动化构建部署之Travis CI使用(GitHub/Travis CI/Vue)
文章目录 CI/CD 工具 Travis CI 使用 1. 注册 2. 新建Github仓库 3. 创建vue项目 4. 配置Travis CI 5. 发布到GitHub pages Travis C ...
- GitHub入门与实践 读书笔记一:欢迎来到GitHubde世界
1.什么是GitHub GitHubshi为开发者提供Git仓库的托管服务.除此之外,还为开发者提供能帮助提高代码效率和品质的功能. GitHub和Git的区别? Git是源码仓库而GitHub是在网 ...
- Git和Github代码管理实践
对于代码的管理我们一般使用GitHub+Git或SVN+Redmine,下面主要接介绍一下GitHub和Git的常用操作: 1.GitHub 创建开源项目 先登录其官网注册一个免费使用的账号,依次 ...
最新文章
- firebug 的使用
- 智慧城市锁定创新,智能AI助力智慧健康
- 将简历挂到云服务器网站上记
- 2015年下半年计划
- 软件工程方法论对我们开发软件有多大用处?谈谈你的看法。
- 使用技巧_Lodash 使用技巧
- WSAAccept()函数使用解析
- java author 认证_详解Java后端优雅验证参数合法性
- Grails Quartz插件,定时调度任务
- golang读取pdf
- uniapp获取手机屏幕高度
- 基于python的词频分析
- 宋体小四在手机上是几号_word文档4号宋体 word宋体小四是几号字
- 源恒软件产品---地产行业集团税务信息化解决方案
- NP 10抗菌肽是什么?有什么作用?
- 20年的嵌入式开发经验总结 !
- 苹果Mac电脑系统优化清理工具CleanMyMac X
- 《CCNP安全Secure 642-637认证考试指南》——8.8节填空
- mysql ip 查询工具_IP地址查询定位器 - 从全球最新的IP数据库查询IP详细信息
- Scratch简单10以内加法游戏
热门文章
- Ubuntu Core 给物联网提供更多安全支持
- 12c分页查询特性FETCH FIRST ROWS,OFFSET ROWS FETCH NEXT ROW LIMIT Clause子句
- pycharm提示your evalluation license has expired解决方法
- Linux下oracle11g 导入导出操作详细
- 外观模式(Façade Pattern)
- Blazor系列终结!
- Dapr牵手.NET学习笔记:绑定
- 如何更改 C# Record 构造函数的行为
- ASP.NET Core 中做集成测试的三种方案
- [翻译]Go与C#对比 第三篇:编译、运行时、类型系统、模块和其它的一切