]
Hardy Ferentschik commented on ISPN-6054:
-----------------------------------------
Right, for app development (which is really the case here), the Gemfile.lock should be
checked in. Is the lock file which ensures that everyone uses the same dependencies. This
is a good read in this regards -
Docker image cannot build website
---------------------------------
Key: ISPN-6054
URL:
https://issues.jboss.org/browse/ISPN-6054
Project: Infinispan
Issue Type: Bug
Components: Documentation-Core
Reporter: Emmanuel Bernard
There are several issues with the Docker image:
1. it uses Ruby 2.2 which apparently make Awestruct 0.5.7.RC2 + Guard fail
2. the Gemfile.lock conflicts
For 1. the error is as followed
https://gist.github.com/emmanuelbernard/0524a56f2f859569c634
The best is for Awestruct to fix the issue (assuming the analysis is correct). The
alternative is to install rvm inside the docker image to controll the ruby version used.
It requires a few experimentations (probably 2 to 4 hours of work)
For 2. the problem is as followed:
- docker build installs and create a Gemfile.lock with specific versions
- the host might already have a Gemfile.lock or worse, does not have one
- when running docker, we do bind the host directory on top of the docker directory
- so the host Gemfile.lock is used (different from Docker's gemfile.lock) and this
will look for potentially incorrect dependencies and fail
The solutions to 2 are:
- create a build_docker.sh which will build the docker image, remove Gemfile.lock from
the host and rerun the rake setup step to rebuild the Gemfile.lock to the right value ;
since the host dir will be mapped, the Gemfile.lock will survive a docker image restart
- change the scripts to store the Gemfile.lock somewhere in a non mapped directory of the
docker image and use an environment variable set in Dockerfile to influence our Rakefile
(we do that already with the env variable BIND)