This is an automated email from the ASF dual-hosted git repository.

dbarnes pushed a commit to branch support/1.14
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.14 by this push:
     new 7b1c13a  GEODE-9568: UG build script keep doc after generating it 
(#6906)
7b1c13a is described below

commit 7b1c13a39e8cbdcfd4a49c564cab10687b2d0382
Author: Alberto Bustamante Reyes <albert...@apache.org>
AuthorDate: Thu Sep 30 16:57:53 2021 +0200

    GEODE-9568: UG build script keep doc after generating it (#6906)
    
    * GEODE-9568: UG build script - keep doc after generating it
---
 dev-tools/docker/docs/Dockerfile            |  4 +--
 dev-tools/docker/docs/preview-user-guide.sh | 42 ++++++++++++++++++++++-------
 geode-book/README.md                        | 20 +++++++++++++-
 3 files changed, 53 insertions(+), 13 deletions(-)

diff --git a/dev-tools/docker/docs/Dockerfile b/dev-tools/docker/docs/Dockerfile
index a1e8dcb..31f841c 100644
--- a/dev-tools/docker/docs/Dockerfile
+++ b/dev-tools/docker/docs/Dockerfile
@@ -42,7 +42,5 @@ RUN gem install bundler:1.17.3 \
 # Install Bookbinder
 COPY Gemfile Gemfile
 COPY Gemfile.lock Gemfile.lock
-RUN bundle install
 
-COPY geode-book .
-COPY geode-docs .
+RUN bundle install
diff --git a/dev-tools/docker/docs/preview-user-guide.sh 
b/dev-tools/docker/docs/preview-user-guide.sh
index 062ee77..49da6a6 100755
--- a/dev-tools/docker/docs/preview-user-guide.sh
+++ b/dev-tools/docker/docs/preview-user-guide.sh
@@ -18,20 +18,44 @@
 
 function cleanup {
   rm Gemfile Gemfile.lock
-  rm -r geode-book geode-docs
 }
 
 trap cleanup EXIT
 
-set -x -e
-
-mkdir -p geode-book
-mkdir -p geode-docs
-
+# Gemfile & Gemfile.lock are copied to avoid including the whole
+# geode-book folder to the image context
 cp ../../../geode-book/Gemfile* .
-cp -r ../../../geode-book geode-book
-cp -r ../../../geode-docs geode-docs
 
 docker build -t geodedocs/temp:1.0 .
 
-docker run -it -p 9292:9292 geodedocs/temp:1.0 /bin/bash -c "cd geode-book && 
bundle exec bookbinder bind local && cd final_app && bundle exec rackup 
--host=0.0.0.0"
+# "geode-book/final_app" and "geode-book/output" are created inside the 
container,
+# so it is necessary to use the current user to avoid these folders owned by
+# root user.
+GEODE_BOOK="$(pwd)/../../../geode-book"
+GEODE_DOCS="$(pwd)/../../../geode-docs"
+MY_UID=$(id -u)
+MY_GID=$(id -g)
+docker run -it -p 9292:9292 --user $MY_UID:$MY_GID \
+    --workdir="/home/$USER" \
+    --volume="/etc/group:/etc/group:ro" \
+    --volume="/etc/passwd:/etc/passwd:ro" \
+    --volume="/etc/shadow:/etc/shadow:ro" \
+    --volume="${GEODE_BOOK}:/geode-book:rw" \
+    --volume="${GEODE_DOCS}:/geode-docs:rw" \
+    geodedocs/temp:1.0 /bin/bash -c "cd /geode-book && bundle exec bookbinder 
bind local && cd final_app && bundle exec rackup --host=0.0.0.0"
+
+# Bookbinder creates the following links
+# <your geode repo>/geode-book/output/master_middleman/source/docs/guide/115 
-> /geode-book/output/preprocessing/sections/docs/guide/115
+# <your geode repo>/geode-book/output/preprocessing/sections/docs/guide/115 -> 
/geode-docs
+#
+# Following lines fix these wrong symbolic links:
+#
+ug_version=`ls ${GEODE_BOOK}/final_app/public/docs/guide/`
+master_middleman_folder="${GEODE_BOOK}/output/master_middleman/source/docs/guide/${ug_version}"
+preprocessing_folder="${GEODE_BOOK}/output/preprocessing/sections/docs/guide/${ug_version}"
+rm ${master_middleman_folder}
+rm ${preprocessing_folder}
+
+ln -s ${GEODE_DOCS} ${preprocessing_folder}
+ln -s ${preprocessing_folder} ${master_middleman_folder}
+
diff --git a/geode-book/README.md b/geode-book/README.md
index a321cf9..c41a8f6 100644
--- a/geode-book/README.md
+++ b/geode-book/README.md
@@ -24,7 +24,25 @@ Documentation can be built and previewed using the utility 
script at `{geode-pro
 $ cd {geode-project-dir}/dev-tools/docker/docs
 $ ./preview-user-guide.sh
 ```
-In a browser, navigate to `http://localhost:9292` to view the user guide.
+
+Once the script shows it is listening on a local address, you could use a 
browser to view the user guide on that address.
+
+For example:
+```
+$ ./preview-user-guide.sh
+...
+...
+Puma starting in single mode...
+* Version 4.3.8 (ruby 2.5.9-p229), codename: Mysterious Traveller
+* Min threads: 0, max threads: 16
+* Environment: development
+* Listening on tcp://0.0.0.0:9292
+Use Ctrl-C to stop
+```
+You will find the user guide at `0.0.0.0:9292`. 
+
+Files generated by Bookbinder will be at 
`{geode-project-dir}/geode-book/final_app`
+ 
 
 ## Build the User Guide
 

Reply via email to