我想在构建阶段构建库(gtest),并在测试阶段使用它。现在我的代码看起来像这样
stages:
- build
- test
build-job:
stage: build
script:
# building gtest at /usr/lib
artifacts:
paths:
- /usr/lib
tags:
- ubuntu
unit-test-job
stage: test
script:
- g++ test.cpp -lgtest -lgtest_main -lpthread -o test
- ./test
tags:
- ubuntu
但是工件不允许添加不在工作目录中的内容。我怎样才能完成这项工作,也许在工作目录中构建文件并在脚本之前将其移动到必要的位置?
如果 gtest 库位于 ci 机器上的正确位置(例如 /usr/lib),那么运行程序应该能够编译您的测试,而无需传递它的工件。
如果您确实需要移动 gtest 版本只是因为您想将其存储为工件,那么您是正确的,并且必须使用 mv 或 cp 命令来移动它们。但我认为你不需要这样做。