# #gitlab-ci
Вопрос:
Мне нужно перезагрузить машину (например, позвонить Restart-Computer -Force
) в скрипте GitLab CI, восстановить контакт с исполнителем и продолжить выполнение сценария. Исполнители привязаны к определенным машинам и выполняют сценарии PowerShell ( shell
исполнитель). Как я могу это сделать и убедиться, что все, что происходит после вызова Restart-Computer
, происходит после перезагрузки компьютеров?
Комментарии:
1. Это не то, что вы можете сделать в GitLab CI — перезапуск уничтожит соединение с заданием, что приведет к сбою задания. Какую проблему вы пытаетесь решить, перезагрузившись в середине работы? Если вы пытаетесь установить что-то на машину, вам, скорее всего, следует использовать winrm или что-то подобное для удаленного доступа к окну вместо использования самого бегуна в режиме оболочки.
2. @Патрик, я пытаюсь решить две проблемы одновременно. Во-первых, как вы уже догадались, я устанавливаю приложение. Во-вторых, мне нужно убедиться, что оборудование находится в правильном состоянии, поскольку тесты не являются независимыми, если только машины не были перезагружены. Я бы предпочел задействовать машины, поэтому что-то вроде WinRM-хорошее предложение.
3. Да, я бы очень настоятельно рекомендовал использовать WinRM — обычно вы не хотите использовать свой компьютер приложений в качестве бегуна, так как это нарушает несколько принципов безопасности 🙂
4. @Patrick Я закончил тем, что переписал нашу систему CI так, чтобы тестовые машины управлялись через SSH, решая одновременно и эту, и ряд других проблем.