Непрерывная интеграция в Gitlab с консольным приложением - PullRequest
0 голосов
/ 19 ноября 2018

Я занимаюсь разработкой простого консольного приложения на .NET Core 2. Его целью является очистка базы данных один раз в день. Это означает, что приложение никогда не останавливается после запуска.

Это приложение является частью Solution, где также работает .NET Core Rest API, для доступа к той же базе данных, так что оно также является частью того же хранилища Gitlab.

Теперь я хочу опубликовать и запустить консольное приложение через существующие конвейеры непрерывной интеграции репо. (CI конвейер отлично работает для проекта REST Api)

Сборка, тестирование и публикация работает отлично, единственная проблема - запуск консольного приложения.

Я попробовал несколько попыток, в результате всегда происходит зависание конвейера после старта приложения. Я думаю, что это так, потому что он ждет, пока приложение не завершится, что никогда не происходит.

Я уже пробовал:

  1. запуск приложения прямо в gitlab_ci.yml
    gitlab_ci.yml:

    -cd C:\publishFolder
    -DB_Cleaner.exe
    

    -> Приложение выполняется непосредственно в консоли Runner
    gitlab_ci.yml:

    -cd C:\publishFolder
    -start cmd.exe /k DB_Cleaner.exe
    

    -> Бегун застрял, пока его не отменили по таймауту

  2. Запуск сценария bash или powershell для запуска приложения
    gitlab_ci.yml:

    -cd C:\ScriptFolder
    -runDBCleaner.cmd  
    

    runDBCleaner.cmd:

    -cd C:\publishFolder
    -start cmd.exe /k DB_Cleaner.exe
    

-> Бегун застрял, пока его не отменили по таймауту

Runner работает на виртуальной машине Win-64.

Есть ли способ запустить приложение для запуска независимо от gitlab-CI-Runner?

...