GitLab CI无法启动Matlab

时间:2018-10-13 03:49:59

标签: matlab gitlab

我在GitLab中有一个很大的Matlab项目存储库,并且正在GitLab CI中进行一些自动化测试。 ,当我推送时,尽管它确实启动了新管道并启动了我的批处理文件,但它似乎并没有运行Matlab的实例,因此该过程会无限期地陷入困境。 (跑步者在Windows计算机上)

首先,.gitlab-ci.yml:

stages:
  - test

before_script:
  - cd
  - cd testing
  - cd

main_test:
  stage: test
  script: run_unit_tests.bat

又好又简单。 接下来,批处理文件:

@echo off

for /F "tokens=2" %%i in ('date /t') do set mydate=%%i
set mytime=%time%
echo ..
echo Current time is %mydate%:%mytime%


echo ..
echo %ERRORLEVEL%

matlab -nosplash -nodesktop -minimize -wait -logfile "automatic_tests_log.txt" -r "run('run_main_unit_testing.m')"

echo ..
type "automatic_tests_log.txt"
echo ..
echo %ERRORLEVEL%

(%ERRORLEVEL%检查可以帮助跟踪一些排除非零错误代码的故障。但是现在已经解决了。)

结果: 管道启动并开始正常运行。报告了三个cd命令后,我们得到:

$ run_unit_tests.bat
..
Current time is 10/12/2018:20:03:39.18
..
0
. . .

最后一个省略项是GitLab“进行中”动画。基本上,它永远不会启动Matlab;等待批处理脚本中的matlab命令时卡住了。 (我已经等了30分钟。这个过程很慢,但并不慢。)当我直接从命令行运行相同的批处理脚本时,它可以正常工作,大约需要1-2分钟。

有什么想法我要去哪里吗?

1 个答案:

答案 0 :(得分:0)

您需要退出matlab: matlab -nosplash -nodesktop -minimize -wait -logfile“ automatic_tests_log.txt” -r“ run('run_main_unit_testing.m'); 退出