最近在项目中在配置CodeCov 以及TravisAppVeyor做持续集成时,遇到了一些问题,也解决了一些问题。顺便拿来分享一下。

首先时Travis,这个主要是来跑基于 Linux 环境下的一些测试的。你可以自定义push到 master上 或者 进行 pull request 时自动进行。

其次时 AppVeyor 这个我在项目中主要是来跑Windows环境的,虽然说这个两个环境都可以跑。

还有时 CodeCov 这个用来你的代码测试用例的可视化的,查看代码的覆盖率。

下面就是各个 .yaml 文件的大致配置:

# .travis.yml
language: csharp
sudo: true
mono: none
dotnet: 2.2
dist: xenial
branches:
only:
- master
install:
- dotnet tool install --global altcover.visualizer
- cd Tests/ && dotnet add package AltCover && cd ../
- dotnet restore
script:
- dotnet build
- if [ $ACCESS_KEY_ID == "" ]; then dotnet test --filter Category!=FeatureTest /p:AltCover=true; else dotnet test /p:AltCover=true; fi
after_success:
- cd Tests/
- bash <(curl -s https://codecov.io/bash) -c -F unittest
# .appveyor.yml
version: "1.0.{build}"
image: Visual Studio 2017
branches:
only:
- master
init:
- cmd: git config --global core.autocrlf true
install:
- cmd: dotnet --version
- cmd: dotnet tool install --global altcover.visualizer
- cmd: cd Tests/ && dotnet add package AltCover && cd ../
build_script:
- cmd: dotnet restore
- cmd: dotnet build
test_script:
- dotnet build
- IF NOT DEFINED ACCESS_KEY_ID (dotnet test aliyun-net-sdk-core.Tests /p:AltCover=true) ELSE (dotnet test /p:AltCover=true)
on_finish:
- cmd: cd Tests
- ps: |
$env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
bash codecov.sh -f "coverage.xml" -c -F unittest
#.codecov.yml
codecov:
notify:
after_n_builds: 2 coverage:
status:
project:
default: off
unittest:
flags: unittest
target: 85%
featuretest:
flags: featuretest
flags:
unittest:
# only test unittests
paths:
- Tests/
featuretest:
# only test featuretest
paths:
- feature-test/

之前有一个需求是,执行具体的测试的时候不进行CodeCov, 比如进行 Feature Test 的时候就不用进行 Codecov,那么在配置文件中如何配置呢?

这就需要使用 Codecov 的Flag 标签,执行测试的时候指定具体要执行的目录和标签。就可以解决这个问题了。

flags:
unittest:
# only test unittests
paths:
- Tests/

然后在生成时改成这个命令即可: bash codecov.sh -f "coverage.xml" -c -F unittest

持续集成时 travis 和 codecov 等 yaml 文件的配置的更多相关文章

  1. 用持续集成工具Travis进行构建和部署

    用持续集成工具Travis进行构建和部署 用持续集成工具Travis进行构建和部署 摘要:本文简单说明了如何使用持续集成工具Travis进行构建和部署的过程. 1. 概述 持续集成(Continuou ...

  2. 持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释

    本文同意转载.但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权全部 文章概述: 一. 描写叙述了持续集成工具Hudson的安装 ...

  3. [Jenkins]持续集成环境下fingbug插件的安装使用与配置

    参考:https://wiki.jenkins.io/display/JENKINS/FindBugs+Plugin 突然,天降杂事.我是想安安静静的做个美丽的测试...但是事与愿违,项目经理叫我帮忙 ...

  4. .net持续集成cake篇之cake任务依赖、自定义配置荐及环境变量读取

    系列目录 新建一个构建任务及任务依赖关系设置 上节我们通过新建一个HelloWorld示例讲解了如何编写build.cake以及如何下载build.ps1启动文件以及如何运行.实际项目中,我们使用最多 ...

  5. [持续集成学习篇]【1】[jenkins安装与配置]

    Guided Tour This guided tour will use the "standalone" Jenkins distribution which requires ...

  6. Travis CI持续集成使用

    用好这个工具不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值.而且,它对于开源项目是免费的,不花一分钱,就能帮你做掉很多事情. 一.什么是持续集成? Travis CI 提供的是持续 ...

  7. 使用Travis进行持续集成

    使用Travis进行持续集成 廖雪峰 持续集成:Continuous Integration,简称CI,意思是,在一个项目中,任何人对代码库的任何改动,都会触发CI服务器自动对项目进行构建,自动运行测 ...

  8. 视频云SDK iOS持续集成项目实践

    1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...

  9. Kubernetes 持续集成 SpringCloud

    写在开始之前,在开始之前我们需要了解几个概念: 1.什么是持续集成? 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次 ...

随机推荐

  1. python之+=与+(转载)

    先看一个简单的例子 从程序分析,进行直接+操作后,python会重新生成一个对象,而进行+=操作并不改变原来的对象,是在原来对象的基础上进行操作,所以+=也称为就地加 除此之外+和+=还有不同: 从程 ...

  2. Ribbon服务消费者

    springcloud使用到两种消费工具,ribbon和feign ribbon实现了服务的负载均衡 feign默认集成了ribbon,一般情况下使用feign作为消费端 搭建消费者项目(Ribbon ...

  3. LeetCode(119):杨辉三角 II

    Easy! 题目描述: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 进阶: ...

  4. LeetCode(111):二叉树的最小深度

    Easy! 题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null ...

  5. eclipse php pdt插件安装

    安装动态语言工具包: help->new install software->work with 框输入 http://download.eclipse.org/technology/dl ...

  6. java Web工程师面试题集绵

    一.Java 基础 1.JDK .JRE 和JVM关系是什么? 答:A. JDK(Java Development Kit)即Java开发工具包,包含编写Java程序所必须的编译.运行等开发工具以及J ...

  7. 【转】运维DBA的4大纪律9项注意

    朋友们调侃说,运维是个把脑袋别在裤腰带上的活,更有人说,运维是个把脑袋别在他人裤腰带上的活,苦劳没人认,有锅就有得背! 测试的同学说,“吃瓜群众很难感知运维背后的付出,倒是出了事情更能体现我们的专业性 ...

  8. 反序列化json的坑

    json格式没有错误,内容没有什么异常 反序列化一直显示第一行有异常符号, 在https://jsonlint.com/上面检测了一下,发现了这个 解决办法: UTF-8格式编码 改成 UTF-8无B ...

  9. jsp和

  10. Vue.js货币格式化函数

    函数: const digitsRE = /(\d{3})(?=\d)/g export function currency (value, currency, decimals) { value = ...