Repository: flink
Updated Branches:
  refs/heads/master 09433032d -> 8801cbcf7


[FLINK-3009] Add dockerized jekyll environment

This is not to fulfill what FLINK-3009 is originally asking,
but I'm piggybacking to contribute a docker environment with jekyll
so that users won't have to deal with environment versions.

Author: Jun Aoki <ja...@apache.org>
Author: jaoki <ja...@apache.org>

Closes #1363 from jaoki/dockerized-docgen and squashes the following commits:

7bf3661 [Jun Aoki] Added apache label
36869e7 [jaoki] [FLINK-3009] Add dockerized jekyll environment


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/8801cbcf
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/8801cbcf
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/8801cbcf

Branch: refs/heads/master
Commit: 8801cbcf7667f514f6f733901e0b0e8cb50472ad
Parents: 0943303
Author: Jun Aoki <ja...@apache.org>
Authored: Fri Nov 20 12:48:42 2015 -0800
Committer: Henry Saputra <hsapu...@apache.org>
Committed: Fri Nov 20 12:48:42 2015 -0800

----------------------------------------------------------------------
 docs/README.md         | 14 +++++++++
 docs/_config.yml       |  2 +-
 docs/docker/Dockerfile | 25 +++++++++++++++
 docs/docker/run.sh     | 74 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 114 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/8801cbcf/docs/README.md
----------------------------------------------------------------------
diff --git a/docs/README.md b/docs/README.md
index a042ea5..05dcecb 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -20,6 +20,20 @@ install all needed software via the following commands:
 Note that in Ubuntu based systems, it may be necessary to install the 
`ruby-dev` and 
 `python-setuptools` packages via apt.
 
+# Using Dockerized Jekyll
+
+We dockerized the jekyll environment above. If you have 
[docker](https://docs.docker.com/), 
+you can run following command to start the container.
+
+```
+cd flink/docs/docker
+./run.sh
+```
+
+It takes a few moment to build the image for the first time, but will be a 
second from the second time.
+The run.sh command brings you in a bash session where you can run following 
doc commands.
+
+
 # Build
 
 The `docs/build_docs.sh` script calls Jekyll and generates the documentation 
in `docs/target`. You

http://git-wip-us.apache.org/repos/asf/flink/blob/8801cbcf/docs/_config.yml
----------------------------------------------------------------------
diff --git a/docs/_config.yml b/docs/_config.yml
index 6f308ef..98fb505 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -63,7 +63,7 @@ highlighter: pygments
 kramdown:
     toc_levels: 1..3
 
-host: localhost
+host: 0.0.0.0
 
 # please use a protocol relative URL here
 baseurl: //ci.apache.org/projects/flink/flink-docs-master

http://git-wip-us.apache.org/repos/asf/flink/blob/8801cbcf/docs/docker/Dockerfile
----------------------------------------------------------------------
diff --git a/docs/docker/Dockerfile b/docs/docker/Dockerfile
new file mode 100644
index 0000000..15d6260
--- /dev/null
+++ b/docs/docker/Dockerfile
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM centos:centos7
+
+RUN yum install -y vim gem ruby-devel make gcc gcc-c++ python-setuptools && \
+       gem install jekyll -v 2.5.3 && \
+       gem install kramdown -v 1.9.0 && \
+       gem install pygments.rb -v 0.6.3 && \
+       gem install therubyracer -v 0.12.2 && \
+       easy_install Pygments
+

http://git-wip-us.apache.org/repos/asf/flink/blob/8801cbcf/docs/docker/run.sh
----------------------------------------------------------------------
diff --git a/docs/docker/run.sh b/docs/docker/run.sh
new file mode 100755
index 0000000..3c8878a
--- /dev/null
+++ b/docs/docker/run.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e -x -u
+
+SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+
+export IMAGE_NAME="flink/docs"
+
+pushd ${SCRIPT_DIR}
+
+docker build --rm=true -t ${IMAGE_NAME} .
+
+popd
+
+if [ "$(uname -s)" == "Linux" ]; then
+  USER_NAME=${SUDO_USER:=$USER}
+  USER_ID=$(id -u "${USER_NAME}")
+  GROUP_ID=$(id -g "${USER_NAME}")
+else # boot2docker uid and gid
+  USER_NAME=$USER
+  USER_ID=1000
+  GROUP_ID=50
+fi
+
+docker build -t "${IMAGE_NAME}-${USER_NAME}" - <<UserSpecificDocker
+FROM ${IMAGE_NAME}
+RUN groupadd --non-unique -g ${GROUP_ID} ${USER_NAME} && \
+  useradd -g ${GROUP_ID} -u ${USER_ID} -k /root -m ${USER_NAME}
+ENV  HOME /home/${USER_NAME}
+UserSpecificDocker
+
+FLINK_DOC_ROOT=${SCRIPT_DIR}/..
+
+CMD="
+echo
+echo 'Welcome to Apache Flink docs'
+echo 'To build, execute'
+echo '  ./build_docs.sh'
+echo 'To watch and regenerate automatically'
+echo '  ./build_docs.sh -p'
+echo 'and access http://localhost:4000'
+echo
+bash
+"
+
+pushd ${FLINK_DOC_ROOT}
+
+docker run -i -t \
+  --rm=true \
+  -w ${FLINK_DOC_ROOT} \
+  -u "${USER}" \
+  -v "${FLINK_DOC_ROOT}:${FLINK_DOC_ROOT}" \
+  -v "/home/${USER_NAME}:/home/${USER_NAME}" \
+  -p 4000:4000 \
+  ${IMAGE_NAME}-${USER_NAME} \
+  bash -c "${CMD}"
+
+popd
+

Reply via email to