我目前正在开发一个NMEA句子解析器,并在推送Git存储库后使用Jenkins自动构建和运行测试用例。我有两个工作,BuildTestProgram和RunTestProgram_ImplementedFunctions。第一个可以很好地工作,尽管它将.o和可执行文件转储到项目目录中的/bin中。我已经在Jenkins上设置了,一旦第一个作业完成,第二个作业就会运行,cd进入/bin并启动测试程序可执行文件(./nmea解析器测试(。
我遇到的问题是,一旦第二个作业开始运行,它所做的第一件事就是"ls",这样我就可以在之后查看控制台输出,看看发生了什么——即使我已经从该特定作业的Git repo中删除了所有连接,它仍然会恢复到原始repo,其中没有/bin文件夹、.o文件和可执行文件。
BuildTestProgram外壳脚本:
qmake NMEA_Parser-Tests.pro
make
RunTestProgram_ImplementedFunctions外壳脚本:
ls
cd /home/dptc/jenkins/workspace/BenjaminColliganN0942934/RunTestProgram_ImplementedFunctions/bin
./nmea-parser-tests --log_level=all --run_test=IsSupportedFormat
./nmea-parser-tests --log_level=all --run_test=ChecksumMatches
./nmea-parser-tests --log_level=all --run_test=ParseSentence
./nmea-parser-tests --log_level=all --run_test=HasCorrectNumberOfFields
./nmea-parser-tests --log_level=all --run_test=ReadSentences
只是为了澄清一下,不幸的是,根据我的课程规范,我不得不在不同的工作中做这件事。
如需更多信息,请直接询问。
不知怎么的,我已经有这个问题好几天了。
BuildTest作业获取代码并进行构建。此作业的代码和构建输出应显示在此作业的工作区中
RunTest作业需要BuildTest作业的生成输出才能运行测试。
您可以通过以下任一方式实现这一点:
-
直接在RunTest作业中访问BuildTest作业的工作区。
ls
cd/home/…//BuildTest/code/bin/
/runTest.sh -
在BuildTest作业中,使用
Archive the artifacts
生成后操作来归档生成输出
在RunTest作业中,使用Copy artifacts from another project
Build步骤将BuildTest作业的工件复制到RunTest作业的工作区中。