Heroku Buildpacks with the CNB lifecycle creator - 如何指定自定义图像标签?
Heroku Buildpacks with the CNB lifecycle creator - how to specifiy custom image labels?
我们在 GitLab CI/CD 管道中使用 Heroku Buildpacks,方法是触发作业 运行 heroku 构建器映像,然后直接调用 /cnb/lifecycle/creator,而不是使用 pack CLI .这是因为在我们的容器编排器上无法在 docker 中使用 docker。
这一切都很好,但我们面临着无法指定将添加到生成的图像的任何自定义标签的问题。默认情况下,添加这些标签:
- io.buildpacks.lifecycle.metadata
- io.buildpacks.build.metadata
- io.buildpacks.project.metadata
但我们还想添加以下标签:
- org.opencontainers.image.revision
- org.opencontainers.image.url
- org.opencontainers.image.source
- org.opencontainers.image.version
- org.opencontainers.image.licenses
- org.opencontainers.image.authors
不幸的是,似乎无法指定这一点。创建者没有提供任何配置参数来执行此操作,据我所知,pack CLI 也没有。
使用Paketo buildpacks时,确实有一个指定的buildpack来解决这个问题:https://github.com/paketo-buildpacks/image-labels
在使用 Heroku buildpacks 时是否有任何 方法来做类似的事情?
您可以将 Paketo image-labels buildpack 与 Heroku 构建包一起使用。这是从 pack
CLI 执行此操作的示例:
$ pack build --builder heroku/buildpacks:20 --buildpack paketo-buildpacks/image-labels my-app
使用 CLI,您可以根据需要添加更多 --buildpack
选项。
如果您想对此进行编纂,您可以创建一个 project.toml
and use the io.buildpacks.post.group
以始终 运行 最后 image-labels buildpack。
如果您使用的是 creator
二进制文件,您可以为它提供一个 group.toml
https://github.com/buildpacks/spec/blob/main/platform.md#inputs-3
我们在 GitLab CI/CD 管道中使用 Heroku Buildpacks,方法是触发作业 运行 heroku 构建器映像,然后直接调用 /cnb/lifecycle/creator,而不是使用 pack CLI .这是因为在我们的容器编排器上无法在 docker 中使用 docker。
这一切都很好,但我们面临着无法指定将添加到生成的图像的任何自定义标签的问题。默认情况下,添加这些标签:
- io.buildpacks.lifecycle.metadata
- io.buildpacks.build.metadata
- io.buildpacks.project.metadata
但我们还想添加以下标签:
- org.opencontainers.image.revision
- org.opencontainers.image.url
- org.opencontainers.image.source
- org.opencontainers.image.version
- org.opencontainers.image.licenses
- org.opencontainers.image.authors
不幸的是,似乎无法指定这一点。创建者没有提供任何配置参数来执行此操作,据我所知,pack CLI 也没有。 使用Paketo buildpacks时,确实有一个指定的buildpack来解决这个问题:https://github.com/paketo-buildpacks/image-labels
在使用 Heroku buildpacks 时是否有任何 方法来做类似的事情?
您可以将 Paketo image-labels buildpack 与 Heroku 构建包一起使用。这是从 pack
CLI 执行此操作的示例:
$ pack build --builder heroku/buildpacks:20 --buildpack paketo-buildpacks/image-labels my-app
使用 CLI,您可以根据需要添加更多 --buildpack
选项。
如果您想对此进行编纂,您可以创建一个 project.toml
and use the io.buildpacks.post.group
以始终 运行 最后 image-labels buildpack。
如果您使用的是 creator
二进制文件,您可以为它提供一个 group.toml
https://github.com/buildpacks/spec/blob/main/platform.md#inputs-3