ruby-on-railsrubydockeropenshifts2i

How to solve the update bundler warning in rails when deploying to OpenShift?


I am trying to deploy my rails application on openShift, Everthing is going fine but it giving warning for bundle update.

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`.

I want to update openshift bundler or some other way around to overcome this.


Solution

  • Typically, running an out-of-date bundler will not cause any issues, so you should be able to safely ignore the Warning.

    However, if you must update the version of bundler for some reason, you should use an .s2i/bin/assemble script to update the version of bundler prior to the default build process. So something similar to

    #!/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
    

    should do the trick. If you add this to your repository in the .s2i/bin directory as an executable assemble script (definition don't forget to chmod +x assemble before adding this to your repository), this should take care of the issue for you.

    You can also see the default Ruby 2.5 assemble script in the sclorg GitHub repo: https://github.com/sclorg/s2i-ruby-container/blob/master/2.5/s2i/bin/assemble. Just change the version in the URL as needed in case your curious.