запущенный процесс с gitlab ci

На одном из моих тестовых серверов установлен gitlab runner.
Я хочу создавать и развертывать свое приложение при каждом коммите.
Сервер — это сервер Windows, а приложение — приложение .net core 1.1.

мой скрипт сборки работает нормально, но в конце концов он запускает dotnet MyApp.dll, что, очевидно, заставляет конвейер ждать, пока он не завершится (но, конечно, мое приложение не завершится, я хочу, чтобы оно работало..)

Я попытался запустить start dotnet MyApp.dll, но это все еще не работает, так как бегун gitlab не перестанет работать, пока не завершатся все его дочерние процессы.

Я уверен, что использую CI gitlab не идиоматически, но не понимаю, как правильно развертывать локально.

Какие-либо предложения?


person Amit Shani    schedule 27.09.2017    source источник


Ответы (1)


Windows не предлагает простого способа отказаться от процесса, и вы, вероятно, не захотите заставлять себя останавливать процесс при следующем развертывании. Вам следует использовать SRVANY.EXE, чтобы создать службу из вашего приложения, а затем использовать Gitlab CI, чтобы остановить службу, заменить файлы и запустить ее снова. Прошло некоторое время с тех пор, как я использовал Windows, поэтому мне очень жаль, но я не могу предоставить точные команды для запуска.

person Jakub Kania    schedule 27.09.2017
comment
Да, это сработает. В частности, я думаю, что буду использовать nssm вместо srvany. Спасибо за ответ! - person Amit Shani; 28.09.2017
comment
@user3142398 user3142398 Когда вы решите эту проблему, вы можете добавить дополнительные инструкции в качестве ответа для других. - person Jakub Kania; 28.09.2017