问题标签 [buildpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
heroku - 在 buildpack 中检查 heroku 应用程序的堆栈
如何获取正在执行 buildpack 的应用程序的 heroku 堆栈。如果堆栈自上次构建以来已更改,我想使缓存无效。示例用例:迁移到 Celadon Cedar-14 堆栈的应用程序。
ruby-on-rails - 使用自定义构建包在 heroku 上部署 proj4rb 时“找不到 proj_api.h 标头”
问题
我正在尝试在 heroku 上安装 ruby gem proj4rb,它需要C 库的proj_api
头文件。PROJ.4
推送到heroku,我收到以下错误(仅显示相关行):
我知道构建确实发生在一个特殊的容器上,然后部署到 heroku。这就是为什么我将 buildpacks 与下面显示的两个 buildpacks 一起使用,其中包括 . 当 Heroku 编译 ruby 时,我得到了提到的错误。
跑步让我有点困惑
接着
工作没有错误。因此,我假设 buildpack 的安装确实有效,并且正在以这种方式找到标头。
问题
可以做些什么来消除这个问题?有没有一种简单的方法——我可能使用了错误的 geo-buildpack 吗?还是我必须为 ruby 编写自己的 buildpack?还是只是配置的问题ruby-buildpack/geo-buildpack
?
任何帮助都将不胜感激。如果缺少输出信息,请告诉我。
环境
我正在使用默认的heroku getting-startet rails-project 以通过自定义构建包获得更好的“可重复性”。
Gemfile
:
.buildpacks
:
heroku - 从单个 repo 维护 staging+prod 环境,2 个遥控器在 heroku 上使用 revel buildpack
Revel 模型在models
包下定义;因此,为了导入它们,必须使用相对于%GOPATH/src文件夹的完整 repo 路径,在这种情况下project/app/models
会导致
到目前为止,如果您使用您的应用程序名称作为本地开发机器的文件夹名称并且只有 dev+prod 环境,那就太好了。
Heroku 的文档建议为不同的环境使用多个应用程序(即用于暂存)。具有不同来源的相同存储库;
这就是问题开始的地方,现在,由于暂存环境驻留在替代应用程序名上(比方说PROJECTNAME_STAGING
),它的源存储在PROJECTNAME_STAGING
但实际代码仍然import PROJECTNAME/app/models
不是import PROJECTNAME_STAGING/app/models
; 所以编译失败,等等。
是否有可能使用 revel 的 heroku buildpack管理具有单个本地 repo 和多个来源的多个环境?还是 buildpack 中需要一个尚未实现的功能?
此外,.godir
需要版本控制并包含应用程序的 git 路径的文件可能存在这个问题,那么关于该文件的多环境二元性呢?
akka - 在 cloudfoundry (DEA) 守望者容器中运行的 Akka 集群
在当前项目中,我们希望运行 Akka 集群功能的 2.3.4 版本,但出于我的目的,希望在 Java 中执行此操作。困难的部分来自于在 CloudFoundry v2 云 - DEA 守望者容器中运行它的需要。
目前,我们正在一个 java web 应用程序中运行(单个实例)Akka 上下文 - 没有集群 - 但我们需要从中逃脱。
我们希望能够扩展正在运行的实例和新实例的数量以加入现有集群。有没有一种好方法可以做到这一点,是否有针对此要求的现有 buildpack?
linux - Heroku buildpack:在 bash 脚本中的 npm install 权限被拒绝
我正在创建一个 Heroku 构建包,并在使用构建包进行部署时获得 npm 权限被拒绝。这是构建日志中的错误,运行时权限被拒绝npm install
:
我将 npm 打包在 tar.gz 中并使用它。
在我的compile
文件中:
node.js - 部署到 Heroku 时不推荐使用 Meteor Fiber
我正在使用我曾经可以工作的buildpack将我的 Meteor 应用程序部署到 Heroku 。我有很短的时间没有进行任何部署,今天我这样做有问题。安装 NPM 依赖项时出现错误。它说纤维有问题。这是日志:
你有过这样的问题吗?你知道为什么会这样吗?
linux - 通过 Buildpack、Phantomjs + Webfonts 的 Heroku 库依赖项(但可推广到 buildpacks)
在分叉这个 Heroku buildpack(对于 phantomjs,但我想这个问题适用于其他自定义 buildpack)之后:
https://github.com/stomita/heroku-buildpack-phantomjs
并更新编译脚本以从自定义 phantomjs tar.bz2 文件中提取,该文件的 bin/phantomjs 二进制文件已替换为以下文件:
http://arunoda.me/blog/phantomjs-webfonts-build.html
Heroku 构建过程正常工作,提取正确的修改后的二进制文件,但是在将其栅格化网页时,会出现错误消息(通过 heroku 日志,为了简洁而没有时间戳):
我试过简单地将这些文件包含在各种配置中的 tar.bz2 文件中(在不同的 /lib 或 /usr/lib 位置),但这没有奏效。我意识到有可能必须向 buildpack 中的编译脚本添加一些额外的路径信息,但也许是因为我不是一个 Ops 人员,所以我不太明白。加上对 buildpacks 的研究,以及引用基本 /app 目录的人以及具有供应商的编译脚本,我更加困惑。
我认为这是可以解决的:事实上,Deepsy似乎已经通过说明“然后我从 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 复制 libstdc++.so.6 并添加它到我的自定义 buildpack 中,现在它可以完美运行 :)”
就像这篇文章的大部分内容所指出的那样,对我来说,问题是我不知道那一行意味着什么,并且非常感谢任何帮助。我在这上面花了太多时间,真的被困住了。
提前致谢。
更新1:
我在他的 github repo 中找到了Deepsy 的代码,并尝试使用相同的 curl 方法,还更新了 LD_LIBRARY_PATH 变量和 chmod 777ing 文件夹的内容(包括二进制文件和库文件)。这不起作用(出现相同的错误消息)。此外,我的二进制文件需要 libc.so.6,而他没有,但我从我的操作系统中获得了该文件。
也很有趣:当尝试将 libc.so.6 库文件添加并 mv 到 LD_LIBRARY_PATH 时,我的 Heroku 应用程序崩溃了。我怀疑这可能是将该库添加到 LD_LIBRARY_PATH 可能会混淆 Heroku 中的其他二进制文件并使用我的版本,无论出于何种原因,该版本不适用于 Heroku 实例。
更新 2:
我还尝试从头开始构建 phantomjs 二进制文件并成功。结果我从顶部的第二个链接获得了完全相同大小的二进制文件,并且对必需库的调用相同(因此错误相同)。
当前论文:
可能是 phantomjs 二进制文件在更新 1 中看到了正确的 lib 文件,但提供的 Heroku 文件的最新版本不足以使二进制文件正确运行。或者它仍然可能缺少库文件。
无论哪种方式,我想我都需要以某种方式让 phantomjs 使用我提供的库文件,但我不知道该怎么做。
python - heroku postgis makemigrations 错误 geodjango
所以我为heroku的构建包安装了多个构建包
我有 .buildpacks 文件
安装工作,但是当我运行 python manage.py makemigrations 我得到这个错误:
我尝试了多种在 settings.py 中设置数据库的方法,例如:
我究竟做错了什么?
ruby - Cloud Foundry Ruby 离线 Buildpack
我正在尝试使 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
然后我按如下方式部署了 Ruby 应用程序:
- 切换到 ruby 2.0.0p643(2015-02-25 修订版 49749)[x86_64-linux]
- 捆绑安装
- 捆绑包 --all
- cf push -b sjw_ruby_buildpack
- 失败并显示上述错误消息。
cloud-foundry - 如何向 [Cloud Foundry] buildpacks 添加额外的流程?
我想将 varnishlog 日志记录添加到此 buildpack:https ://github.com/chregu/cf-varnish-buildpack
当 buildpack 开始将 Varnish 错误记录到磁盘/stderr 时,如何添加要启动的第二个进程?