我正在尝试部署在 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.) 不能保证处于工作状态。您应该使用平台提供的构建包名称(来自 cf buildpacks
)或将 #<branch_or_tag>
附加到 URL 末尾,以便它选择特定分支。所有 CF Buildpack 的每个版本都有标签。强烈建议您使用标记版本。
可能看起来很明显,但就我而言,这部分实际上缺失了:
buildpacks:
- java_buildpack_offline
我所要做的就是将此部分添加到清单文件中。