Cloud Foundry .Net Core(基于源,非发布部署)发布配置(非调试)

Cloud Foundry .Net Core (Source-Based, Non-Published Deployment) on Release configuration (not Debug)

我正在将 .Net Core 2.2 应用程序推送到 Cloud Foundry。

我工作的网络阻止二进制文件的上传,因此我们不是发布应用程序并推送它,而是推送源代码(基于源代码的非发布部署)。

但是一切正常,然后它总是在调试模式下运行应用程序而不是发布模式。

我试过修改cloud foundry启动命令。 默认的命令是:

cd ${DEPS_DIR}/0/dotnet_publish && exec ./API --server.urls http://0.0.0.0:${PORT}

我试过使用

dotnet run --project pathtoproject --configuration Release

但是,即使我在推送日志中看到它确实安装了 dotnet sdk 和运行时但仅在脚本完成时删除了 sdk,它仍无法将 dotnet 识别为命令,因此运行时应该仍然存在。我可能需要使用安装 dotnet 的完整路径。

我还注意到推送脚本构建并发布了应用程序(在调试模式下),但我还没有看到我可以修改发布调用以使用 --configuration Release 参数。

dotnet 核心 buildpack 应根据您为环境变量 PUBLISH_RELEASE_CONFIG 设置的值选择 DebugRelease,默认值为 Debug

请参阅代码 here, which selects the value, and here,其中值用于调用 publish

请试一试。听起来它应该做你想做的事。

希望对您有所帮助!