使用GitHub实现简单的CI/CD(2)

  AppVeyor是一个支持自定义持续集成环境的CI工具,它对.Net程序的支持非常强大,同时对开源项目免费,所以AppVeyor是.Net Core项目持续集成的首选,下面就介绍如何使用AppVeyor完成持续基础:
  1. 在GitHub市场中找到AppVeyor,并完成安装:

  

使用GitHub实现简单的CI/CD

  2. 添加项目:

  

使用GitHub实现简单的CI/CD

  选择GitHub仓库,并完成授权:

  

使用GitHub实现简单的CI/CD

  添加需要的仓库:

  

使用GitHub实现简单的CI/CD

  点击“NEW BUILD”进行一次编译:

  

使用GitHub实现简单的CI/CD

  从编译的信息可以看到,此次编译失败了,并且给出了相应的错误信息,这是由于编译环境导致的。

  3. 环境配置:
  将编译镜像选择为VS2017:

  

使用GitHub实现简单的CI/CD

  在编译前先执行dotnet restore命令还原项目依赖:

  

使用GitHub实现简单的CI/CD

  4. 开始一个新的编译:
  编译结果:

  

使用GitHub实现简单的CI/CD

  从编译结果可以看出Appveyor不仅仅是完成了编译工作,而且还搜索了测试信息,并完成了测试。另外有一个要点是本项目中的测试是依赖数据库的,这就意味着Appveyor的编译环境提供了SQL Server数据的支持。

  5. 将编译后的内容发布到GitHub release:
  为xUnitTestDemo代码库添加一个Tag:

  

使用GitHub实现简单的CI/CD

  然后Appveyor将会检测到代码库的变化,自动编译Tag,并将结果部署到Github的Release中:

使用GitHub实现简单的CI/CD

  自动部署的Release内容:

  

使用GitHub实现简单的CI/CD

  关于appveryor部署的更多信息参考:https://www.appveyor.com/docs/deployment/

  6. 将编译状态显示到GitHub上:
  Appveyor的Badges(标记)配置界面中可以获取到状态标记地址:

  

使用GitHub实现简单的CI/CD

  将MarkDown的代码复制到项目的README.md文件中:

  

使用GitHub实现简单的CI/CD

  效果:

  

使用GitHub实现简单的CI/CD

  7. 导出appveyor.yml文件以及通过appveyor.yml来完成配置:
  上面的方法是通过Appveyor的Web界面上完成配置的,除此之外还可以通过appveyor.yml文件来完成配置,appveyor.yml文件可以自己创建或导出已有配置:
  导出已有配置:

  

使用GitHub实现简单的CI/CD

  将appveyor.yml文件放置到代码根目录,并通过修改该文件来变更配置:

  

使用GitHub实现简单的CI/CD

  上图在原有配置基础上修改为release的方式编译代码,并且指定生成结果目录,将结果进行压缩。
  更多appveyor.yml配置可参考:https://www.appveyor.com/docs/appveyor-yml/

使用Codecov显示代码覆盖率

  Codecov也是Github市场的一个应用,它用于生成代码覆盖率报告,codecov对C#的支持是基于OpenCover的(使用OpenCover检测代码覆盖率参考:好代码是管出来的——.Net Core中的单元测试与代码覆盖率),Codecov对Github的公开项目是免费的,下面就开始介绍如何使用codecov来实现测试代码覆盖率的统计:
  1. 安装Codecov:

  

使用GitHub实现简单的CI/CD

  注:安装完成Codecov后,会有一个Upload Token用来将代码覆盖报告上传到Codecov,但Appveyor的公共仓库可以不需要:

  

使用GitHub实现简单的CI/CD

  2. 修改appveyor.yml文件:

  

使用GitHub实现简单的CI/CD

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/34a9dccc3f2d06fefef03995c0e32433.html