【问题标题】:The relationship between a buildpack and a slug compiler in HerokuHeroku 中 buildpack 和 slug 编译器之间的关系
【发布时间】:2017-05-26 09:48:45
【问题描述】:

现在我正在搜索 Heroku,这是一个著名的 Paas 平台。这里有一个关于内部结构的问题,尤其是 buildpack 和 slug 编译器之间的关系。 在公开声明中,

“Buildpacks 负责将部署的代码转换为 slug,然后可以在 dyno 上执行。Buildpacks 由一组脚本组成,根据编程语言,脚本将检索依赖项,输出生成的资产或编译后的代码等。此输出由 slug 编译器组装成一个 slug。"

在介绍 Heroku 细节并由 PACKT 企业出版的《Leaning Heroku Postgres》中,作者说“slug 由 slug 编译器创建,其核心是称为 buildpack 的脚本集合。”

那么,buildpack 在 Heroku 中做了什么?在前面的声明中,它应该将部署的应用程序转换为 slug,而在后面的一个中,buildpack 是 slug 编译器的核心,它应该创建一个 slug。 哪个创建 slug、buildpack 或 slug 编译器?

【问题讨论】:

    标签: heroku


    【解决方案1】:

    在 Heroku 中,buildpack 会生成 slug。它是“slug 编译器”。不过,我认为您对这里的术语有些了解。

    Heroku 的工作方式非常简单:

    • 当您将代码推送到 Heroku 时,构建包会运行并安装依赖项、缓存静态资产等。
    • 然后 buildpack 会将所有这些内容放入 Amazon S3 上本质上是一个 zip 文件的文件中。
    • 当 dyno 启动时,Heroku 会从 S3 下载包含所需所有内容(您的应用依赖项、源代码等)的 zip 文件,然后启动服务器。

    基本上就是这样!

    【讨论】:

    • 在您的解释中,slug 是您的第二项中放置在 S3 中的 zip 文件,不是吗?一个 slug 编译器就等于一个 buildpack?完全一样?
    • 一个 buildpack 只是“构建”一个 slug。这就是它所做的一切。 slug 本身只是一个存储在 Amazon S3 中的 zip 文件。
    • 谢谢。我变得更清楚了,slug 编译器等于 buildpack 吗?我假设 slug 编译器的组件之一是 buildpack ,它执行转换。
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2011-02-24
    • 2015-07-23
    • 2021-09-28
    • 2014-01-27
    • 2011-12-19
    相关资源
    最近更新 更多