• 构建pipeline流水线
  • 关联gitlab webhook
  • cpplint和cppcheck搭建,以及一些细节
  • 自动测试系统优化
  • 代码评审方案
  • 飞书群通知

背景

在使用gitlab的流水线中,原生的流水线构建起来较为复杂,结果展示也比较原生,不便于观察,后续选择集成Jenkins工具,来实现流水线的构建

安装Jenkins

Jenkins安装直接使用的jenkins的war包,然后jdk8调用的,访问地址默认为ip:8080,初始会有admin的默认密码在日志中

创建Jenkins pipeline

登录Jenkins后,安装一些插件,后续会用到,实际可根据自己需求安装

  • Cppcheck Plug-in
  • GitLab
  • GitLab Authentication
  • Warnings Next Generation

    创建Items

    image.png
    设置构建日志的保存天数,一来可以清理空间,二来,不显得那么多数据在界面上
    image.png
    webhook触发器,也就是gitlab管理这个pipeline,达到触发的效果
    image.png
    点击高级,设置token,用于后续关联gitlab
    image.png
    流水线,实际真正执行的内容,此为流水线的重中之重
    image.png

    关联gitlab

    上面创建了一个Item,包含一个url和token,用这个来关联gitlab项目,用于自动触发
    在gitlab项目上,点击下面的设置,如图
    image.png
    点击webhook,进行关联
    SF]$ZKO7D}TTB~]KN){E`GB.png

  • 网址为刚刚jenkins webhook url

  • Secret 令牌为上面获取的token
  • 选择功能为推送事件触发,分支为main分支

点击测试,看看能否触发设置的流水线

后记

1.中文路径设置不转unicode

在获取git commit log时,发现如果代码路径有中文,日志里就转为了unicode,找不到实际路径,可以使用命令设置:

  1. git config --global core.quotepath false

2.隐藏 Jenkins Pipeline 日志

Jenkins Pipeline运行时,会有很多默认的输出日志,显得冗长,自己脚本里的日志就掺杂在里面,所有可以通过插件设置,不输出默认日志
安装Simple Theme 插件,在 Manage Jenkins / Configure System / Theme 中,Add / Extra CSS,设置如下样式以隐藏:

  1. .pipeline-new-node { display: none; }