Buildpacks Pack:将 Bundler Config 传递给 Buildpack
Buildpacks Pack: Passing Bundler Config to the Buildpack
我正在尝试使用 the Buildpacks Pack tool 作为 CLI 并使用“buildpacks:18”映像来创建构建器来构建我的解决方案。
除了 Ruby 之外,一切正常,因为我的一个应用程序正在使用私有 gem 存储库。
通常情况下,bundle config $address "$user:$token"
(将每个 $ 替换为实际值)构建过程将在本地运行,无需 Buildpacks。正常 Ruby 东西。
但是,当使用 Buildpack Builder/Image 时,它不会读取我本地机器上的配置并不断返回:
Bundler Output: Authentication is required for rubygems.pkg.github.com.
Please supply credentials for this source. You can do this by running:
bundle config set rubygems.pkg.github.com username:password
!
! Failed to install gems via Bundler.
所以我猜它应该传递给 Buildpack 图像。这是最佳做法吗?如果是这样……怎么办?因为 Buildpacks 文档在 Heroku usage 上很重要,但在使用 Pack 工具时并没有那么多,这是一个抽象。
我已经考虑并搜索了使用变量或映射我的本地文件的方法(这在抽象的 CI/CD 管道上不太实用)但我仍然无法获得关于这个的明确答案和硬编码 gem 文件上的信用是一个很大的禁忌(在 best practices 之后)。我试图避免做一个“自定义图像”,因为它感觉有点矫枉过正,所以也许有一种方法我完全错过了。
在此先感谢您的帮助。
您需要 运行 pack build
使用 BUNDLE_GEMS__<HOST>__<TLD>=<user>:<token>
形式的环境变量,使用 -e
标志。例如:
pack build -e BUNDLE_GEMS__EXAMPLE__COM=itme:xxx myapp
有关详细信息,请参阅 Heroku guide to bundler configuration(在大多数情况下使用 pack
时仍然适用)
我正在尝试使用 the Buildpacks Pack tool 作为 CLI 并使用“buildpacks:18”映像来创建构建器来构建我的解决方案。
除了 Ruby 之外,一切正常,因为我的一个应用程序正在使用私有 gem 存储库。
通常情况下,bundle config $address "$user:$token"
(将每个 $ 替换为实际值)构建过程将在本地运行,无需 Buildpacks。正常 Ruby 东西。
但是,当使用 Buildpack Builder/Image 时,它不会读取我本地机器上的配置并不断返回:
Bundler Output: Authentication is required for rubygems.pkg.github.com.
Please supply credentials for this source. You can do this by running:
bundle config set rubygems.pkg.github.com username:password
!
! Failed to install gems via Bundler.
所以我猜它应该传递给 Buildpack 图像。这是最佳做法吗?如果是这样……怎么办?因为 Buildpacks 文档在 Heroku usage 上很重要,但在使用 Pack 工具时并没有那么多,这是一个抽象。
我已经考虑并搜索了使用变量或映射我的本地文件的方法(这在抽象的 CI/CD 管道上不太实用)但我仍然无法获得关于这个的明确答案和硬编码 gem 文件上的信用是一个很大的禁忌(在 best practices 之后)。我试图避免做一个“自定义图像”,因为它感觉有点矫枉过正,所以也许有一种方法我完全错过了。
在此先感谢您的帮助。
您需要 运行 pack build
使用 BUNDLE_GEMS__<HOST>__<TLD>=<user>:<token>
形式的环境变量,使用 -e
标志。例如:
pack build -e BUNDLE_GEMS__EXAMPLE__COM=itme:xxx myapp
有关详细信息,请参阅 Heroku guide to bundler configuration(在大多数情况下使用 pack
时仍然适用)