错误登台应用程序:应用程序登台在 HWC Buildpack 的 buildpack 编译阶段失败

Error staging application: App staging failed in the buildpack compile phase in HWC Buildpack

我正在尝试部署我在 ASP.Net 4.6.1 中构建的应用程序。所以我正在使用 HWC Buildpack。 下面是我的manifest.yml

---
applications:
- name: DRSN
  random-route: true
  memory: 128M
  buildpack: 
    https://github.com/cloudfoundry/hwc-buildpack.git
  env:
    DOTNET_CLI_TELEMETRY_OPTOUT: 1
    DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true

我收到的错误如下。

Waiting for API to complete processing files...

Staging app and tracing logs...
   Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 creating container for instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
   Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 successfully created container for instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
   Downloading app package...
   Downloading build artifacts cache...
   Downloaded build artifacts cache (231B)
   Downloaded app package (19.5M)
   Failed to compile droplet: Failed to compile droplet: fork/exec /tmp/buildpackdownloads/6c6dca8d638ac0d145d6581f9eb9a96a/bin/compile: permission denied
   Exit status 223
   Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 stopping instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
   Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 destroying container for instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
Error staging application: App staging failed in the buildpack compile phase

谁能帮我解决这个问题?我的 manifest.yml 不正确吗?还是其他原因?

我认为问题在于您告诉系统使用 HWC buildpack,但同时您没有设置 Windows 堆栈(至少根据我能提供的信息)看)。这意味着它将默认为 Linux 堆栈,我相信这就是您看到 fork/exec /tmp/buildpackdownloads/... 错误的原因。

尝试将 stack: windows 添加到您的 manifest.yml 或将 -s windows 添加到您的 cf push 命令(以供将来参考,当您需要帮助时,请始终包含完整的 cf push命令你是运行).

PS:你不应该使用 https://github.com/cloudfoundry/hwc-buildpack.git 告诉系统在当前处于任何状态下获取 master 分支。那是 a.) 不可重现和 b.) 不保证处于工作状态。您应该使用平台提供的构建包名称(来自 cf buildpacks)或将 #<branch_or_tag> 附加到 URL 的末尾,以便它选择一个特定的分支。所有 CF Buildpack 的每个版本都有标签。强烈建议您使用带标签的版本。