Запустите сервер узла, сделайте что-нибудь еще и завершите сервер на Gitlab CI - PullRequest
0 голосов
/ 27 февраля 2020

У меня установлена ​​оболочка gitlab runner, и у меня есть следующий файл gitlab-ci.yml, в предустановленном сценарии он устанавливает необходимые пакеты и запускает сервер узлов, я должен использовать здесь «start npm run start», потому что в противном случае он останется навсегда на "сервере, запущенном в ххххххх". Когда я использую это, он успешно завершает процессы node.exe, но после этого он просто зависает там навсегда, и мне приходится вручную отменять сборку, и он никогда не запускает раздел after_script.

Test:
  before_script:
    - call npm install
    - start npm run start
  script:
   - waitfor SomethingThatIsNeverHappening /t 3 & taskkill /t /f /im node.exe & exit 0
  after_script:
    - echo HELLLLLLLLLLO

My вопрос в том, как можно go сделать что-то подобное? Я хочу иметь этот точный код, где я запускаю сервер, что-то делаю, а затем завершаю работу сервера, но после этого он должен успешно завершить сборку и показать правильный статус, такой как сбой / передача на gitlab. Прямо сейчас он делает все в файле, но после того, как все сделано, приложение просто зависает навсегда, вместо того, чтобы завершиться и показать успех. Если у меня нет секции after_script, она все равно будет висеть в конце.

Примечание: я пробовал выйти 0 и выйти 1, и они ничего не делают.

Релевантный журнал:

$ start npm run start

$ waitfor SomethingThatIsNeverHappening /t 3 & taskkill /t /f /im node.exe & exit 0

ERROR: Timed out waiting for 'SomethingThatIsNeverHappening'.

SUCCESS: The process with PID 2396 (child process of PID 9196) has been terminated.

SUCCESS: The process with PID 10040 (child process of PID 9196) has been terminated.

SUCCESS: The process with PID 8452 (child process of PID 9196) has been terminated.

SUCCESS: The process with PID 11172 (child process of PID 9196) has been terminated.

SUCCESS: The process with PID 5416 (child process of PID 9196) has been terminated.

SUCCESS: The process with PID 9196 (child process of PID 8648) has been terminated.

SUCCESS: The process with PID 8648 (child process of PID 8272) has been terminated.

SUCCESS: The process with PID 8272 (child process of PID 8512) has been terminated.

После этой точки он продолжает работать вечно без новой строки нового вывода

1 Ответ

0 голосов
/ 28 февраля 2020

Мне удалось решить эту проблему, используя powershell в качестве моей оболочки, указанной в файле config.toml в папке runner. После преобразования команд в дружественные к PowerShell команды все работало нормально.

...