现在我的文件中有test文件夹,有cmakelists文件,现在我想编写yml,让其创建并进入build文件夹执行命令cmake../ make,然后进入test文件夹,对test里面的代码进行gtest测试,然后进入build,使用cpack进行程序打包,打包成rpm
假设你的项目结构如下:
/project
|-- test
| |-- CMakeLists.txt
| |-- (其他测试文件)
|-- CMakeLists.txt
|-- (其他源代码文件)
|-- .gitlab-ci.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
|
上述配置文件的主要组成部分包括:
-
stages
:定义了CI/CD的阶段,包括build
、test
和package
。 -
variables
:定义了全局变量,这里设置了一个BUILD_DIR
变量用于指定构建目录。 -
before_script
:在每个Job执行之前运行的脚本,这里创建了构建目录并切换到该目录。 -
build
:构建阶段的Job,执行了cmake ..
和make
。 -
test
:测试阶段的Job,先切换到test
目录,执行cmake ..
和make
,然后运行测试。 -
package
:打包阶段的Job,进入构建目录执行cpack
。