AppVeyor是一个支持自定义持续集成环境的CI工具,它对.Net程序的支持非常强大,同时对开源项目免费,所以AppVeyor是.Net Core项目持续集成的首选,下面就介绍如何使用AppVeyor完成持续基础:
1. 在GitHub市场中找到AppVeyor,并完成安装:
2. 添加项目:
选择GitHub仓库,并完成授权:
添加需要的仓库:
点击“NEW BUILD”进行一次编译:
从编译的信息可以看到,此次编译失败了,并且给出了相应的错误信息,这是由于编译环境导致的。
3. 环境配置:
将编译镜像选择为VS2017:
在编译前先执行dotnet restore命令还原项目依赖:
4. 开始一个新的编译:
编译结果:
从编译结果可以看出Appveyor不仅仅是完成了编译工作,而且还搜索了测试信息,并完成了测试。另外有一个要点是本项目中的测试是依赖数据库的,这就意味着Appveyor的编译环境提供了SQL Server数据的支持。
5. 将编译后的内容发布到GitHub release:
为xUnitTestDemo代码库添加一个Tag:
然后Appveyor将会检测到代码库的变化,自动编译Tag,并将结果部署到Github的Release中:
自动部署的Release内容:
关于appveryor部署的更多信息参考:https://www.appveyor.com/docs/deployment/
6. 将编译状态显示到GitHub上:
Appveyor的Badges(标记)配置界面中可以获取到状态标记地址:
将MarkDown的代码复制到项目的README.md文件中:
效果:
7. 导出appveyor.yml文件以及通过appveyor.yml来完成配置:
上面的方法是通过Appveyor的Web界面上完成配置的,除此之外还可以通过appveyor.yml文件来完成配置,appveyor.yml文件可以自己创建或导出已有配置:
导出已有配置:
将appveyor.yml文件放置到代码根目录,并通过修改该文件来变更配置:
上图在原有配置基础上修改为release的方式编译代码,并且指定生成结果目录,将结果进行压缩。
更多appveyor.yml配置可参考:https://www.appveyor.com/docs/appveyor-yml/
Codecov也是Github市场的一个应用,它用于生成代码覆盖率报告,codecov对C#的支持是基于OpenCover的(使用OpenCover检测代码覆盖率参考:好代码是管出来的——.Net Core中的单元测试与代码覆盖率),Codecov对Github的公开项目是免费的,下面就开始介绍如何使用codecov来实现测试代码覆盖率的统计:
1. 安装Codecov:
注:安装完成Codecov后,会有一个Upload Token用来将代码覆盖报告上传到Codecov,但Appveyor的公共仓库可以不需要:
2. 修改appveyor.yml文件: