将.NET Core Console应用程序部署到PCF

时间:2017-03-13 22:14:36

标签: .net deployment .net-core cloudfoundry pivotal-cloud-foundry

我尝试将dotnet核心控制台应用程序部署到PCF,它似乎部署得很好,但运行状况检查无法在http://0.0.0.0:${PORT}尝试访问应用程序。由于它是一个控制台应用程序,因此它没有HTTP端点。在应用信息上我可以看到:

Start Command: dotnet dotnet-app.dll --server.urls http://0.0.0.0:${PORT}

默认情况下,它希望该应用成为网络应用。有没有办法使用pcf的控制台应用程序设置来部署它?

buildpack是:

Buildpack: ASP.NET Core (buildpack-1.0.4)

我想知道是否有纯.NET核心构建包。

2 个答案:

答案 0 :(得分:0)

您是否尝试过将“无路由”添加到清单文件中?

这将阻止pcf尝试绑定端口。

no-route: true

您可能还需要禁用健康检查:

cf set-health-check APP_NAME none

答案 1 :(得分:0)

我将清单中的运行状况检查更改为health-check-type: process,这就是诀窍。

然而,在诊断问题时进行流程健康检查会增加一些价值,但这并不理想。稍后,与同事交谈,他们建议将应用程序托管为WepApi应用程序,因此如果进程挂起,http运行状况检查将在尝试命中端点时检测到它。

由于WebApi应用程序是在.net核心中自托管的,因此更好的解决方案是让WebApi应用程序执行控制台应用程序所做的一切,并托管运行状况检查端点。