如何为我的自定义 Cloud Foundry buildpack 提供环境变量?

How do I provide environmental variable with my custom Cloud Foundry buildpack?

我有额外简单的自定义 sidecar buildpack。它在 /bin/supply 中所做的只是下载并解压缩到 $DEPS_DIR/$DEPS_IDX/mylibrary 某些依赖库。因为我可以拥有多个 sidecar buildpack,所以我事先不知道 mylibrary 的 $DEPS_IDX。我想在自定义 buildpack 环境变量 export MYLIBRARY_PATH=$DEPS_DIR/$DEPS_IDX/mylibrary/bin/supply 中进行设置,以便主应用程序可以使用它。我怎么做?我将该导出放在哪里?

我知道我可以将该变量放入 manifest.yml 或使用 cf set-env 进行设置,但这很脆弱,我想在靠近我提供相关依赖项的地方设置环境变量。我看到一些自定义构建包将自定义脚本写入 $DEPS_DIR/$DEPS_IDX/profile.d。我试过了,但这些脚本从未执行过。我应该尝试从 /bin/supply 到达 /etc/profile.d 吗?

将导出该值的脚本放入 ${BUILD_DIR}/.profile.d/ 目录(这是应用程序在构建时所在的位置)。那里的所有脚本都移至 /etc/profile.d 并在 buildpack 启动时获取。 BUILD_DIR 应该在 /bin/supply

期间可见