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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P4847 银河英雄传说V2 非旋treap

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 让我们分析一下题目需要实现什么操作&#xff1a; (1)(1)(1)将某个序列放到某个的后面&#xff0c;也就是合并两个序列。 (2)(2)(2)将一个序列从某处断开。 (3)(3)(3)查询某个序列的一段和…

【NOI online 2】游戏【二项式反演】【树上背包】

题意&#xff1a;一棵n2mn2mn2m个点的树&#xff0c;mmm个白点和mmm个黑点。对于k∈[0,n]k\in [0,n]k∈[0,n]&#xff0c;求出 把点黑白两两配对使得恰好有kkk对点有祖孙关系 的方案数 模998244353998244353998244353。 n≤5000n \leq 5000n≤5000 见到恰好考虑容斥&#xff0…

小白开学Asp.Net Core 《五》

小白开学Asp.Net Core《五》—— 使用.Net Core MVC Filter一、简介今天在项目&#xff08;https://github.com/AjuPrince/Aju.Carefree&#xff09;做登陆权限时&#xff0c;用到了Filter&#xff0c;现将Filer的使用做以下记录。二、Filter 简介Filter俗称过滤器&#xff0c;…

P5217 贫穷 平衡树

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 本来是不想写数据结构了&#xff0c;因为明天打蓝桥了&#xff0c;想放松一下&#xff0c;但是看到这个题感觉写起来挺简单的&#xff0c;就试了试&#xff0c;结果… 首先看一下他的操作…

高性能微服务网关.NETCore客户端Kong.Net开源发布

前言项目地址&#xff1a;https://github.com/lianggx/Kong.Net你的支持使我们更加强大&#xff0c;请单击 star 让更多的 .NETCore 认识它。拥抱开源的脚步&#xff0c;我们从来都是一直在路上&#xff1b;.NETCore作为后起之秀&#xff0c;带给我们太多的惊喜和感动&#xff…

【CF923E】Perpetual Subtraction【生成函数】【积分推式子】【NTT卷积】

题意&#xff1a;有一个整数x∈[0,n]x\in[0,n]x∈[0,n]&#xff0c;取iii的概率为pip_ipi​。执行mmm次操作&#xff0c;每次把xxx等概率变成[0,x][0,x][0,x]中的一个整数&#xff0c;求操作完后等于每个数的概率。模998244353998244353998244353。 n≤105,m≤1018n\leq 10^5,m…

使用Jenkins部署.Net Core遇到的几个坑

一、相关环境和版本搞过CI/CD的同学一定吃过不少苦头&#xff0c;或者说遇到不少坑&#xff0c;但是对自动化的执着住挡不了前进的步伐&#xff0c;如果你缺少了运维这一块知识&#xff0c;那么你的流水线总是不那么完美&#xff0c;本文记录的是自己躺过的坑&#xff0c;希望对…

Deltix Round, Spring 2021 E. Crypto Lights 组合数学 + 推公式

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你nnn个灯&#xff0c;每次可以打开一个灯&#xff0c;当连续的kkk个灯有至少两个灯开着的时候停止&#xff0c;问最终期望能打开多少灯。 思路&#xff1a; 由于不想打latexlatexlatex&#xff0c;所以…

【洛谷P5385】须臾幻境/【BZOJ3514】Codechef MARCH14 GERALD07加强版【LCT】【主席树】

题意&#xff1a;有nnn个点mmm条边&#xff0c;qqq次询问连接区间[L,R][L,R][L,R]中的边后的连通块个数。强制在线。 n,m,q≤2105n,m,q\leq 2\times10^5n,m,q≤2105 显然连通块个数n−任意一个生成森林的边数连通块个数n-任意一个生成森林的边数连通块个数n−任意一个生成森林…

.NET Core 仿魔兽世界密保卡实现

《魔兽世界》的老玩家都知道&#xff0c;密保卡曾经被用于登录验证&#xff0c;以保证账号安全。今天我用.NET Core模拟了一把密保卡&#xff08;也叫矩阵卡&#xff09;的实现&#xff0c;分享给大家。密保卡的原理这是一张典型的魔兽世界密保卡。序列号用于绑定游戏账号&…

Deltix Round, Spring 2021 D. Love-Hate 随机化 + sos dp(高维前缀和)

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你nnn个朋友&#xff0c;一共有mmm种货币&#xff0c;一个朋友最多喜欢ppp种&#xff0c;用二进制给出111代表喜欢&#xff0c;让你选出最多的一个货币集合使得至少有⌈n2⌉\left \lceil \frac{n}{2} \rig…

【UOJ207】共价大爷游长沙【LCT】【异或】【随机化】

传送门 题意&#xff1a;维护一棵无权树和一个路径集合SSS&#xff0c;支持以下操作&#xff1a; 断边连边在SSS加入中加入一条路径删除SSS中的一条路径询问是否SSS中的所有路径都经过了边(x,y)(x,y)(x,y) n≤105,q≤3105n\leq10^5,q\leq3\times10^5n≤105,q≤3105 给每条加…

浅谈C#泛型

一.为什么要提出泛型的概念我们在声明对象或者方法中&#xff0c;对象中成员变量的定义或者函数参数都传递都要指定具体的对象类型&#xff0c;但是有的时候参数的类型是变化的&#xff0c;但是实现的功能却又差不多&#xff0c;这个时候我们就想&#xff0c;是否存在一种东西可…

Codeforces Round #635 (Div. 1) C. Kaavi and Magic Spell 区间dp

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你两个串s,ts,ts,t&#xff0c;每次都可以从sss的开头拿一个字符放到AAA串的开头或结尾&#xff0c;问最终有多少种方案使得ttt是AAA的前缀&#xff0c;注意sss不必全部拿完。 m,n≤3000m,n\le3000m,n≤30…

【IOI2018】会议【笛卡尔树】【dp】【线段树】

题意&#xff1a;长度为nnn的序列&#xff0c;qqq次询问&#xff0c;每次给定一个区间&#xff0c;钦定区间中的一个位置xxx&#xff0c;使得区间所有点 与xxx之间的最大值&#xff08;含端点&#xff09; 之和 最小&#xff0c;输出最小值。 n,q≤7.5105n,q\leq7.5\times10^5n…

【半小时大话.net依赖注入】(一)理论基础+实战控制台程序实现AutoFac注入

第一章|理论基础实战控制台程序实现AutoFac注入第二章|AutoFac的常见使用套路第三章|实战Asp.Net Framework Web程序实现AutoFac注入第四章|实战Asp.Net Core自带DI实现依赖注入第五章|实战Asp.Net Core引入AutoFac的两种方式简介该系列共5篇文章&#xff0c;旨在以实战模式&am…

P4198 楼房重建 线段树 + 区间合并

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 题面有点问题&#xff0c;按照人类正常的理解来就好啦。 思路&#xff1a; 可以想到维护每个位置的一个斜率&#xff0c;模拟的话就是从第一个位置开始向后选&#xff0c;当某个位置斜率大于当前位置的时…

【IOI2018】狼人【Kruscal重构树】【主席树】

题意&#xff1a;nnn个点mmm条边的无向图&#xff0c;qqq次询问&#xff0c;每次给定s,t,L,Rs,t,L,Rs,t,L,R&#xff0c;判断是否存在一条sss到ttt的路径&#xff0c;使得路径上可以找到一点kkk,满足此路径s∼ks\sim ks∼k的部分标号都≥L\geq L≥L且k∼tk\sim tk∼t标号都≤R\…

基于 Docker Compose 实践 .NET Core 的现代化架构 2:在容器中集成 Skywalking APM

本章节代码已经上传至 https://github.com/siegrainwong/.NET-Core-with-Docker/tree/master/Part2系列大纲还是先介绍一下目录&#xff0c;这次我们讲第二篇&#xff1a;用 docker-compose 启动 WebApi 和 SQL Server在容器中集成 Skywalking APM通过 nginx-proxy 对 ES、Skyw…

【雅礼集训2017】字符串【后缀自动机】【数据分治】

题意&#xff1a;给定一个字符串SSS和mmm个区间[li,ri][l_i,r_i][li​,ri​],qqq次询问&#xff0c;每次给定长度为kkk的字符串www和区间[a,b][a,b][a,b]&#xff0c;求对于所有i∈[a,b]i\in[a,b]i∈[a,b]&#xff0c;www在[li,ri][l_i,r_i][li​,ri​]内的子串在SSS中出现次数…