现在正在搜索Heroku,这是一个著名的Paas平台。这里有一个关于内部结构的问题,特别是 buildpack 和 slug 编译器之间的关系。 在公开声明中,
“Buildpacks 负责将部署的代码转换为 slug,然后可以在 dyno 上执行。Buildpacks 由一组脚本组成,根据编程语言,脚本将检索依赖项、输出生成的 Assets 或编译后的代码等等。此输出由 slug 编译器组装成一个 slug。”
而在PACKT enterprise出版的介绍Heroku细节的书《Leaning Heroku Postgres》中,作者说“slug是由slug编译器创建的,其核心是称为buildpack的脚本集合。”
那么,buildpack 在 Heroku 中做了什么?在前一个语句中,它应该将已部署的应用程序转换为 slug,而在后一个语句中,buildpack 是 slug 编译器的核心,它应该创建一个 slug。 哪个创建 slug,buildpack 或 slug 编译器?
最佳答案
在 Heroku 中,buildpack 生成 slug。它是“slug 编译器”。不过,我认为您对此处的术语有些了解。
Heroku 的工作方式非常简单:
- 当您将代码推送到 Heroku 时,buildpack 会运行并安装依赖项、缓存静态 Assets 等。
- 然后 buildpack 将所有这些放入 Amazon S3 上本质上是一个 zip 文件。
- 当 dyno 启动时,Heroku 从 S3 下载 zip 文件以及所需的一切(您的应用程序依赖项、源代码等),然后启动服务器。
基本上就是这样!
关于heroku - Heroku 中 buildpack 和 slug 编译器之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41593670/