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/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
然后我按如下方式部署了 Ruby 应用程序:
- 切换到 ruby 2.0.0p643(2015-02-25 修订版 49749)[x86_64-linux]
- 捆绑安装
- 捆绑包--全部
- cf push -b sjw_ruby_buildpack
- 上面的错误消息失败。
Cloud Foundry Dev Group
回答了这个问题
这是相关部分:
似乎 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
标志指定构建包,然后让我们知道发生了什么。
我正在尝试使 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/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
然后我按如下方式部署了 Ruby 应用程序:
- 切换到 ruby 2.0.0p643(2015-02-25 修订版 49749)[x86_64-linux]
- 捆绑安装
- 捆绑包--全部
- cf push -b sjw_ruby_buildpack
- 上面的错误消息失败。
Cloud Foundry Dev Group
回答了这个问题这是相关部分:
似乎 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
标志指定构建包,然后让我们知道发生了什么。