Potential problem from Gitlab runner pipeline on windows (powershell)

12 ビュー (過去 30 日間)
태현
태현 2024 年 3 月 28 日
コメント済み: 태현 2024 年 12 月 11 日
Dear All
I have encountered some problems with gitlab pipeline script which composed by powershell executor..
I appreciated whoever experienced with this kind of problem comment anything that I could try...
There is no error in command log when I run this pipeline, however matlab.exe seems not operating actually...
# stage
stages:
- command
mfile_command:
stage: command
tags: [my-runner-windows-]
only:
- main
script:
- 'C:\"Program Files"\MATLAB\R2023b\bin\matlab.exe'
- powershell -command "Start-Sleep -Seconds 60"
  4 件のコメント
Angelo Yeo
Angelo Yeo 2024 年 3 月 29 日
(1) Would you mind taking a look at the answer below?
In short, try the below:
script:
- 'powershell.exe "C:\Program Files\MATLAB\R2023b\bin\matlab.exe"'
(2) If you want to run a script with MATLAB from command window, you can use "-r" option. For example, if you want to run myscript.m via command,
script:
- 'powershell.exe "C:\Program Files"\MATLAB\R2023b\bin\matlab.exe" -r myscript'
More information can be found from the doc below.
태현
태현 2024 年 4 月 1 日
Thanks for reply.
I fixed my script as you recommended, but got an error:
$ powershell.exe "C:\Program Files\MATLAB\R2023b\bin\matlab.exe"
17C:\Program : The term 'C:\Program' is not recognized as the name of a cmdlet, function, script file, or operable progra
18m. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
19At line:1 char:1
20+ C:\Program Files\MATLAB\R2023b\bin\matlab.exe
21+ ~~~~~~~~~~
22 + CategoryInfo : ObjectNotFound: (C:\Program:String) [], CommandNotFoundException
23 + FullyQualifiedErrorId : CommandNotFoundExceptio
Instead, I wrote my script as below :
script:
- powershell.exe "& 'C:\Program Files\MATLAB\R2023b\bin\matlab.exe'"
Yet I could not execute matlab.exe ....

サインインしてコメントする。

回答 (2 件)

Divyanshu
Divyanshu 2024 年 4 月 2 日
Hi,
A possible cause of such errors in powershell is because of spaces present in the path of executable you are trying to execute. As a workaround you can refer these steps:
  • Firstly execute cd '<Path to the bin folder containing the .exe of MATLAB>' in Windows Powershell. Entire path should be in single qoutes.
  • Then you can execute this command powershell matlab.exe -r myscript, which would launch MATLAB.
Hope it helps!
  1 件のコメント
태현
태현 2024 年 4 月 3 日
Thank you for you reply
Of course, I normally execute my matlab.exe when I command on Powershell prompt directly.
The point is that I could not see same results despite of any errors on build log under gitlab runner pipeline.
My script was written as below:
script:
- echo "script start!!!" # Test
- cd 'C:\Program Files\MATLAB\R2023b\bin\'
- ls # Check path was normally entered
- matlab.exe
Best regards

サインインしてコメントする。


Strider
Strider 2024 年 12 月 8 日

I had to use the following to force the gitlab runner to "wait" on MATLAB

matlab -batch "myBuildScript" -wait

Otherwise the gitlab script would timeout and fail even through there were no MATLAB errors.

  3 件のコメント
Strider
Strider 2024 年 12 月 11 日
Do you want to open MATLAB and have the desktop window display or are you looking to run the pipeline in batch mode?
This documenation might help to answer yours and my question.
태현
태현 2024 年 12 月 11 日
The former is that I am trying,
Thank you for your recommand, however the pipeline was stopped(not proceed) when I add 'wait' in my script
because my desktop could not handle this command I thought.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by