0

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

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.amazonokus.com/ buildpack-ruby/bundle-1.7.12.tgz 2015-03-31T14:28:56.22-0600 [STG/0] 出来了!

环境:Linux CentOS 6

以下是我遵循的步骤:

  • 从https://github.com/cloudfoundry/ruby-buildpack下载 ZIP
  • 本地解压
  • cd ruby​​-buildpack
  • rvm 使用 2.1.5
  • BUNDLE_GEMFILE=cf.Gemfile 包
  • BUNDLE_GEMFILE=cf.Gemfile bundle exec buildpack-packager 缓存
  • 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
    • 失败并显示上述错误消息。
4

1 回答 1

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 存储库主页上的“下载 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,并让我们知道会发生什么。

于 2015-04-03T21:59:35.210 回答