Cloud Foundry Ruby Offline Buildpack

时间:2015-04-02 16:43:28

标签: ruby cloudfoundry buildpack

我正在尝试使用Ruby Offline buildpack,并在部署应用程序时遇到此错误。

2015-03-31T14:28:56.21-0600 [STG / 0] OUT -------> Buildpack版本1.3.0 2015-03-31T14:28:56.22-0600 [STG / 0] OUT! 2015-03-31T14:28:56.22-0600 [STG / 0] OUT!没有这样的文件或目录 - / 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] OUT!

环境: Linux CentOS 6

以下是我遵循的步骤:

  • https://github.com/cloudfoundry/ruby-buildpack
  • 下载ZIP
  • 本地解压缩
  • cd ruby​​-buildpack
  • rvm使用2.1.5
  • BUNDLE_GEMFILE = cf.Gemfile bundle
  • BUNDLE_GEMFILE = cf.Gemfile bundle exec buildpack-packager cached
  • cf create-buildpack sjw_ruby_buildpack ruby​​_buildpack-cached-v1.3.0.zip 11

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

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

  • 切换到ruby 2.0.0p643(2015-02-25修订版49749)[x86_64-linux]
  • 捆绑安装
  • 捆绑包--all
  • cf push -b sjw_ruby_buildpack
    • 上述错误消息失败。

1 个答案:

答案 0 :(得分:1)

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 repo的主页上使用“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部署。

如果您需要完全在本地构建它,您可以尝试克隆repo: 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命令不返回“致命:不是git存储库(或任何父目录):。git”。

一旦完成,请尝试再次推送您的应用,使用-b标志指定buildpack,并告诉我们发生了什么。