Cloud Foundry Ruby 离线构建包

Cloud Foundry Ruby Offline Buildpack

我正在尝试使 Ruby 离线构建包正常工作,但在部署应用程序时 运行 遇到此错误。

2015-03-31T14:28:56.21-0600 [STG/0] 输出 ------> Buildpack 版本 1.3.0 2015-03-31T14:28:56.22-0600 [STG/0] 结束! 2015-03-31T14:28:56.22-0600 [STG/0] 结束!没有这样的文件或目录 - /var/vcap/data/dea_next/admin_buildpacks/fbc8ba1a-0f89-4cd4-bdc6-6b189b326ab6_f80a090fe58f5bba36a6d25dfe86220f7dfcc41d/compile-extensions/bin/translate_dependency_url https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/bundler-1.7.12.tgz 2015-03-31T14:28:56.22-0600 [STG/0] 结束!

环境: Linux 中央操作系统 6

以下是我遵循的步骤:

这些说明来自https://github.com/cloudfoundry-incubator/buildpack-packager/blob/master/doc/disconnected_environments.md

然后我按如下方式部署了 Ruby 应用程序:

Cloud Foundry Dev Group

回答了这个问题

https://groups.google.com/a/cloudfoundry.org/forum/?utm_medium=email&utm_source=footer#!topic/vcap-dev/9KhpUfuGprk

这是相关部分:

似乎 git submodule update --init 不起作用,如果您使用 ruby-buildpack 存储库主页上的 "Download ZIP" 按钮,这实际上是可以预料的。听起来这就是您获得 buildpack 的方式(“- 从 https://github.com/cloudfoundry/ruby-buildpack 下载 ZIP),但是当您下载源代码时 Github 没有为您提供 .git 文件方式。

要修改预构建的 buildpack,您可以从这里下载 ruby_buildpack-cached-v1.3.0.zip 文件,解压缩,修改,重新压缩,然后 运行 cf create-buildpack 命令上传它到您的 Cloud Foundry 部署。

如果您需要完全在本地构建它,您可以尝试克隆存储库: git clone https://github.com/cloudfoundry/ruby-buildpack.git

cd ruby-buildpack
rm ruby_buildpack-cached-v1.3.0.zip
git submodule update --init
BUNDLE_GEMFILE=cf.Gemfile bundle exec buildpack-packager cached
cf create-buildpack sjw_ruby_buildpack ruby_buildpack-cached-v1.3.0.zip 11

特别是,您应该期望 git submodule update --init 命令不会 return "fatal: Not a git repository (or any of the parent directories): .git"。

完成后,尝试再次推送您的应用,像以前一样使用 -b 标志指定构建包,然后让我们知道发生了什么。