GitHub的CI实践(xUnit / OpenCover /Appveyor / Coveralls.net)

最近利用业余时间实现.ner core 版本的 casbin ,即 Casbin.NET。之前的CI都使用的是公司搭建的jenkinsgitlab-runner,对开源社区的工具链并不是很熟悉,在casbin的原作者(hsluoyz )的“要求”下,只能被迫在项目的README.md加入下面这些徽标:

640?wx_fmt=png

NOTE:其实我只加了coverage 和 appveyor build 徽章。

使用的工具和平台如下:

  1. Appveyor

  2. OpenCover

  3. coveralls

  4. coveralls.net

  5. dotnet core 2.x

Appveyor 和 coveralls的注册以及github授权就略过不提。然后,只需要在项目中放入.appveyor.yml 配置文件配置就算是完成了。此处关注配置文件和实际过程中碰到的一些坑。

640?wx_fmt=png


坑 

  1. 错误1:

 
 

 640?wx_fmt=png

导致这个错误的原因很简单,使用正确的包版本(nuget install xunit.runner.console -OutputDirectory packages -Version 2.3.1),还有就是单元测试项目NetCasbin.UnitTest.csproj 的目标平台过高<TargetFrameworks>netcoreapp2.1</TargetFrameworks> ,改成<TargetFrameworks>netcoreapp2.0</TargetFrameworks>

  1. 错误2:

    和错误1相同单元测试项目NetCasbin.UnitTest.csproj 的目标平台过高<TargetFrameworks>netcoreapp2.1</TargetFrameworks> ,改成<TargetFrameworks>netcoreapp2.0</TargetFrameworks>

  2. 错误3:

    640?wx_fmt=png

导致这个错误的原因其实是.appveyor.yml配置文件中定义的环境变量COVERALLS_REPO_TOKENsecure的值错误,正确的值应该是原始coveralls中项目的COVERALLS_REPO_TOKEN 的密文,appveyor也提供了加密的工具 https://ci.appveyor.com/tools/encrypt,将密文作为COVERALLS_REPO_TOKENsecure的值即可。

  1. 错误4:

    如果上面的问题都排除了还有下面的问题:

那需要在项目的.csproj文件中加入<DebugType>full</DebugType> 640?wx_fmt=png

最后要说的是,营造一个好的.net core生态需要每一位喜欢c#语言的coder参与者,这里希望能够通过github 的CI实践,抛砖引玉,吸引更多的参与者加入到开源社区。

下一篇文章:一个权限引擎的作用,Cabin.NET的使用

原文地址:https://www.cnblogs.com/centcore/p/11146488.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值