gitlab ci 集成gtest

gitlab的ci/cd功能为工程中的持续集成与部署带来便利,让项目快速迭代,但是也许你的公司内使用的步骤只有编译和发布,这样是没有问题(在大多数情况下)。不过ci中其实是可以集成单元测试的,这样会让程序更稳定、可靠。

集成的方法:

1.首先在仓库的根目录要有“.gitlab-ci.yml”这个文件,这个是gitlab执行ci的脚本文件是yml格式的

2.了解该文件的基本语法,以及执行ci的命令,一般执行build的命令大致为:

stages:
  - build

before_script:
  - your_before_script

docker-build:
  stage: build
  script:
    - your_docker_build_script
  after_script:
    - your_after_script
  only:
    - web
  when: manual
  tags:
    - your_runner

    web:对于使用GitLab UI中的“运行管道”按钮创建的管道。only:限制创建作业的时间;

    tags:用来构建工程的runner;

    when:manual,手动执行。

3. 集成单元测试gtest:

    其实就是在stages里加上test项

stages:
  - test
  - build

before_script:
  - your_before_script

unit-test:
  stage: test
  script:
    - docker build -f ./Dockerfile_test .
  only:
    - web
  when: manual
  tags:
    - your_runner

docker-build:
  stage: build
  script:
    - your_docker_build_script
  after_script:
    - your_after_script
  only:
    - web
  when: manual
  tags:
    - your_runner

核心语句是“- docker build -f ./Dockerfile_test .”, 因为我们的工程使用docker构建部署的,在build时会默认用Dockerfile,所以增加的单元测试用了另一份:Dockerfile_test,文件里将make命令改成“make test”,并删除了make后的安装等步骤,这些在unit test里不需要。

之后会有两个需要运行的阶段:一个“uint-test”,一个“docker-build”,理论上是可以自动运行,这里我们为了演示用的手动方式。

逐步执行即可:

上图是gtest失败的示例。

上图是gtest通过的示例。

gtest执行通过则可继续执行构建步骤了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值