asp.net - 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
它来告诉系统在它当前处于的任何状态下抓取主分支。这是 a.) 不可重现和 b.) 不能保证处于工作状态。您应该使用平台提供的 buildpack 名称(来自cf buildpacks
)或附加#<branch_or_tag>
到 URL 的末尾,以便它选择特定的分支。所有 CF Buildpacks 都有每个版本的标签。强烈建议您使用标记版本。