我們在 GitLab CI/CD 管道中使用 Heroku Buildpacks,方法是觸發運行 heroku builder 映像的作業,然后直接呼叫 /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 時有什么方法可以做類似的事情嗎?
uj5u.com熱心網友回復:
您可以將Paketo 影像標簽構建包與 Heroku 構建包一起使用。pack這是從CLI執行此操作的示例:
$ pack build --builder heroku/buildpacks:20 --buildpack paketo-buildpacks/image-labels my-app
使用 CLI,您可以--buildpack根據需要添加更多選項。
如果您想對此進行編碼,您可以創建一個project.toml并使用io.buildpacks.post.group來始終在最后運行影像標簽構建包。
如果您使用的是creator二進制檔案,則可以為其提供group.toml https://github.com/buildpacks/spec/blob/main/platform.md#inputs-3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/453645.html
