Как запустить консольное приложение .NET на CloudFoundry? - PullRequest
0 голосов
/ 27 сентября 2018

Мы пытаемся преобразовать некоторые службы Windows в нашем приложении в консольные приложения, чтобы мы могли перенести их в CF.При попытке с примером приложения консоли .net я получаю следующую ошибку:

2018-09-26T14:36:42.92+0530 [APP/PROC/WEB/0] ERR Error: no start command specified during staging or launch
2018-09-26T14:36:43.98+0530 [APP/PROC/WEB/0] OUT Exit status 1
2018-09-26T14:36:55.72+0530 [CELL/0] OUT Cell f80753e2-393c-411d-a662-6a49de7e44ce stopping instance a86af9f8-11f0-41ad-7f84-f518
2018-09-26T14:36:55.72+0530 [CELL/0] OUT Cell f80753e2-393c-411d-a662-6a49de7e44ce destroying container for instance a86af9f8-11f0-41ad-7f84-f518
2018-09-26T14:36:55.73+0530 [API/1] OUT Process has crashed with type: "web"
2018-09-26T14:36:55.77+0530 [API/1] OUT App instance exited with guid b9260f94-1097-4cf1-b181-a5ce1a2aa02e payload: {"instance"=>"a86af9f8-11f0-41ad-7f84-f518", "index"=>0, "cell_id"=>"f80753e2-393c-411d-a662-6a49de7e44ce", "reason"=>"CRASHED", "exit_description"=>"APP/PROC/WEB: Exited with status 1; process did not exit", "crash_count"=>2, "crash_timestamp"=>1537952815635562745, "version"=>"a53c5691-7d64-4030-82f0-91a85ead97b5"}*

Я использовал эту команду, чтобы перенести приложение в CF:

cf push CloudConsoleApp --health-check-type none -s windows2016 -b binary_buildpack --no-route

Я могунажмите на консольное приложение ядра .Net и оставьте его работать на том же экземпляре CF.Может кто-нибудь сказать мне, что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Я сделал poc, используя этот оператор, и работал

cf push SimpleConsole --health-check-type none --no-route -s windows2016 -b hwc_buildpack -p .\Release -c SimpleConsole.exe

Путь к выпуску содержит exe-файл, а в параметре -c должна быть команда для запуска cf runtime.hwc.exe - это оболочка API-интерфейса Hosted Web Core. Я добавил web.config в качестве клона application.config.Надеюсь, это поможет.

0 голосов
/ 29 сентября 2018

Несколько вещей, которые вы можете попробовать ...

cf push CloudConsoleApp - тип проверки здоровья none -s windows2016 -b binary_buildpack --no-route

Раньше вам нужно было использовать binary_buildpack.Это больше не так, хотя вы все еще можете использовать его.Как правило, вы должны использовать hwc_buildpack с .NET Apps в Windows.

Попробуйте cf push CloudConsoleApp --health-check-type none -s windows2016 --no-route -b hwc_buildpack.

Если это не сработает, вы все равно можете использовать binary_buildpack, но binary_buildpack ничего не делает.Он ничего не устанавливает, он не знает, как создать ваше приложение, он не знает, как запустить ваше приложение.Таким образом, если hwc_buildpack не работает для вас, вам также нужно указать команду для запуска вашего приложения.Итак, попробуйте что-то вроде этого: cf push CloudConsoleApp --health-check-type none -s windows2016 -b binary_buildpack --no-route -c 'my_app.exe' (или любая другая команда, запускающая ваше приложение).

В двоичном пакете сборки вам также нужно отправить приложение, которое скомпилировано и готово к запуску.Бинарный buildpack ничего не делает, даже не компилирует ваше приложение, тогда как hwc_buildpack знает больше и может собрать ваше приложение.

Надеюсь, это поможет!

...