【发布时间】:2014-05-14 15:27:22
【问题描述】:
要使用自定义构建包,可以设置 BUILDPACK_URL 环境变量。但是,这假设 buildpack 是公开可用的。有没有办法使用私有 buildpack?我可能可以使用一个公开可用的 buildpack,它将在 repo 中运行私有触发器,但我只是想知道是否有办法做一些事情,比如将 buildpack 包含在 repo 本身中。
【问题讨论】:
要使用自定义构建包,可以设置 BUILDPACK_URL 环境变量。但是,这假设 buildpack 是公开可用的。有没有办法使用私有 buildpack?我可能可以使用一个公开可用的 buildpack,它将在 repo 中运行私有触发器,但我只是想知道是否有办法做一些事情,比如将 buildpack 包含在 repo 本身中。
【问题讨论】:
有一种方法可以将您自己的构建包注入到构建器中,但它需要您进入 deis-builder 组件。在构建器中,我们查找 /buildpacks 目录here。如果存在,它将绑定安装到 slugbuilder 中。因此,您可以运行以下命令为 Deis 注入您自己的 buildpack 堆栈:
$ fleetctl ssh deis-builder.service
$ sudo nsenter -p -u -m -i -n -t $(docker inspect deis-builder | grep Pid | awk '{print $2}' | sed s/,//g)
$ # now we are inside deis-builder!
$ mkdir /buildpacks && cd /buildpacks
$ git clone https://github.com/bacongobbler/heroku-buildpack-jekyll
请注意,/buildpacks 中存在的构建包列表将是唯一使用的构建包,因此如果您仍然想要 heroku-buildpack-python 或与 deis-builder 捆绑的其他构建包,请查看@987654322 的列表@ 并将它们导入 /buildpacks。
希望这会有所帮助!
【讨论】: