部署到OpenShift时如何解决Rails中的更新捆绑程序警告?

时间:2019-03-29 11:50:29

标签: ruby-on-rails ruby docker openshift s2i

我正在尝试在openShift上部署我的rails应用程序,Everthing一切都很好,但是它会警告捆绑更新。

Warning: the running version of Bundler (1.16.1) is older than the version that created the lockfile (1.16.6). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.

我想更新openshift捆绑器或其他方法来解决此问题。

1 个答案:

答案 0 :(得分:1)

通常,运行过期的bundler不会引起任何问题,因此您应该可以安全地忽略警告。

但是,如果由于某种原因必须更新bundler的版本,则应使用.s2i/bin/assemble脚本在默认的构建过程之前更新bundler的版本。所以类似于

#!/bin/bash -e
# The assemble script builds the application artifacts from source and
# places them into appropriate directories inside the image.

echo "---> Updating bundler gem..."
gem install bundler

# Execute the default S2I script
source ${STI_SCRIPTS_PATH}/assemble

应该可以解决问题。如果您将其作为可执行文件.s2i/bin添加到assemble目录中的存储库中(定义请不要忘记将chmod +x assemble添加到存储库中,assemble),这应该注意为您发行。

您还可以在sclorg GitHub存储库:https://github.com/sclorg/s2i-ruby-container/blob/master/2.5/s2i/bin/assemble中看到默认的Ruby 2.5 feat_indexed_probes_bin$HSPB6$bin1 [1] "cg14513218" "cg22891287" "cg20713852" "cg04719839" "cg27580050" "cg18139462" "cg02956481" "cg26608795" "cg15660498" "cg25654926" "cg04878216" 脚本。只是根据需要更改URL中的版本,以防万一。