OpenEdv-开源电子网

 找回密码
 立即注册
查看: 4181|回复: 0

在OneOS-Lite上学习搭建CI/CD流程(GitLab篇)

[复制链接]

221

主题

221

帖子

0

精华

高级会员

Rank: 4

积分
762
金钱
762
注册时间
2021-5-18
在线时间
28 小时
发表于 2021-11-2 15:20:53 | 显示全部楼层 |阅读模式
1.让GitLab CI/CD做什么
嵌入式软件开发领域高频使用的开发语言是C语言,在大型项目开发中,我们往往会有格式审查、编译审查的需求。如果能借助GitLab平台实现代码的格式和编译问题审查,将会极大提高合入代码的规范性,把控新代码对原有代码的影响,提高代码整体质量。

本文将手把手教学如何借助CI帮我们做代码格式审查、编译审查。

2.GitLab CI/CD快速搭建
2.1 VC Code设置
将VS Code设置为保存时自动格式化。

1.png
在代码根目录下放置.clang-format和.clang-format-ignore文件。
2.png

.clang-format文件是代码格式化和格式检查的配置文件,可以从Clang-Format官方网页下载到模板再根据自己的需求调整,语法详见链接。编辑好了.clang-format这个文件,置于代码根目录,用VS Code编辑完代码后执行保存操作,保存的文件将自动按这个文件的格式规范来格式化代码。

.clang-format-ignore文件是用于配置在CI中忽略代码格式检查的文件或文件夹。

2.2 GitLab 配置
前提:你已经在GitLab有代码仓库,并且你是仓库的Owner或Maintainer身份。

如何让GitLab CI/CD为我们做代码格式的审查和编译审查呢,总结起来就五点:

仓库根目录配置.gitlab-ci.yml文件;
仓库中配置代码审查的脚本、clang-format格式审查工具和编译脚本;
配置一个用于编译的MDK工程;
为GitLab公共仓库配置一个Runner(一般是服务器);
为GitLab个人仓库配置一个Runner(一般是本机);
Runner环境配置。
.gitlab-ci.yml可以理解为流水线文件,使用 YAML语法描述,.gitlab-ci.yml文件描述了你要做什么事情。本需求包括代码的拉取、代码格式审查和代码编译。把.gitlab-ci.yml放到远端分支的根目录,你每次push或Merge代码到Git远程仓库时,Runner都会自动触发CI pipeline,去执行.gitlab-ci.yml流水线文件中描述的事。

Runner很好理解,就是一个用来跑仓库代码的格式审查与编译审查的机器,一般公共仓库会是一台服务器,个人仓库会是本机。

3.具体配置流程
3.1 .gitlab-ci.yml文件
.gitlab-ci.yml如下:

3.png

文件描述了代码更新方式和两个Job。一个Job是check,做代码格式审查;另一个Job是build,做代码编译。script描述的是执行命令,即在Runner中执行的命令。tags描述的是Runner的标识,与Runner注册时的设置一致,用于在CI pipeline中顺利找到该主机。

代码格式审查的命令:python .workflow/ci/format_check/run-clang-format.py --clang-format-executable .workflow/ci/format_check/clang-format.exe -r components/ 。命令中调用了Python脚本和clang-format.exe执行文件,并指定了要检查的文件夹路径。

代码编译的命令:.workflow/ci/build/build_keil.bat,调用了指定路径下的编译脚本。

3.2 脚本及工具配置
在代码仓库.workflow > ci路径下的不同文件夹中放置格式审查的脚本、clang-format格式审查工具、编译脚本:
4.png


format_check文件夹放置run-clang-format.py格式审查脚本和clang-format.exe执行文件,clang-format.exe版本为12.0.1:

5.png

build文件夹放置build_keil.bat编译脚本:

6.png

3.3 编译工程
在代码仓库.workflow > ci > projects_compile路径下放置一个或多个用于编译的MDK工程,通过一个或多个工程的配置来铺盖所有代码。


7.png

原文链接:http://bj.dyrs.com.cn/story/202111/1164949

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-15 19:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表