ibm-cloud - 如何避免从 Bluemix 上的缓存加载 buildpack 组件?

标签 ibm-cloud buildpack

我想在每次推送或重新部署我的应用程序时自动从 Internet 下载我的 buildpack 的所有组件,以确保我拥有最新版本。

目前我看到正在为

提取缓存的 buildpack 组件
jboss buildpack :https://github.com/cloudfoundry-community/jboss-buildpack. 
-----> Downloaded app package (14M)
-----> Downloaded app buildpack cache (181M)
Cloning into '/tmp/buildpacks/jboss-buildpack'...
-----> Java Buildpack Version: b96641c | https://github.com/cloudfoundry-community/jboss-buildpack#b96641c
-----> Downloading Open Jdk JRE 1.8.0_45 from https://download.run.pivotal.io/openjdk/trusty/x86_64/openjdk-1.8.0_45.tar.gz (found in cache)

最佳答案

我发现某些构建包是用代码编写的,以避免加载陈旧的组件,从而减轻了这种担忧。

例如:

Cloudfoundry Java 构建包:https://github.com/cloudfoundry/java-buildpack有一个内置的机制来确保它总是使用它需要的最新版本的二进制文件。 https://github.com/cloudfoundry/java-buildpack/blob/master/docs/extending-caches.md对此进行了详细解释。

Cloudfoundry 节点构建包:https://github.com/cloudfoundry/nodejs-buildpack使用环境变量具有类似的功能。您可以创建一个 CF 环境变量:“NODE_MODULES_CACHE false” 这将强制 Node.js buildpack 每次都从互联网下载节点模块。

如果您不确定您使用的构建包是否提供此机制,请执行以下步骤:

1) fork 空构建包:https://github.com/ryandotsmith/null-buildpack

2) 添加:“rm -rfv $2/*”到null-buildpack/bin/compile文件并提交

3) 使用步骤 #2 中修改后的 buildpack 推送您的应用程序,此步骤将完全删除缓存文件夹中的内容

4) 使用您想要的构建包推送您的应用程序。

(引用:https://github.com/perplexes/heroku-buildpack-clearcache)

关于ibm-cloud - 如何避免从 Bluemix 上的缓存加载 buildpack 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006154/

相关文章:

ibm-cloud - 如何使用Watson Discovery获得确切的答案而不是整个文档?

kubernetes - 在IBM Cloud中的K8saaS中使用预安装的流畅安装?

node.js - Heroku Review App 不缓存 node_modules

heroku - 使用 buildpack 在 Heroku 上部署 Go Revel 应用程序时出错

php - 如何在 CloudFoundry (PHP Buildpack) 上启用 SQLite 支持

node.js - Node - Bluemix 对象存储

php - 如何在 Bluemix 中部署 Zend Framework 2

ibm-cloud - 删除实例时未释放 float IP

ruby-on-rails - 使用 Taglib-Ruby 为 Web 应用构建自定义 Heroku Ruby/Rails Buildpack

java - 瑞士电信应用云 : nodejs with java jdk