Include support for Docker
Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/dc91e9f6 Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/dc91e9f6 Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/dc91e9f6 Branch: refs/heads/asf-site Commit: dc91e9f61d943c3a8921f2db850203387c908261 Parents: 05f08a9 Author: Greg Hogan <g...@apache.org> Authored: Fri Oct 14 14:43:04 2016 -0400 Committer: Greg Hogan <g...@apache.org> Committed: Wed Nov 2 09:29:06 2016 -0400 ---------------------------------------------------------------------- _config.yml | 4 ++- build.sh | 2 +- docker/Dockerfile | 23 ++++++++++++++++ docker/run.sh | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink-web/blob/dc91e9f6/_config.yml ---------------------------------------------------------------------- diff --git a/_config.yml b/_config.yml index 469cb26..6bd5d03 100644 --- a/_config.yml +++ b/_config.yml @@ -88,10 +88,12 @@ redcarpet: "tables", "with_toc_data", "strikethrough", "superscript", "lax_spacing"] -exclude: flink-src-repo +exclude: [docker, flink-src-repo] gems: [jekyll-paginate] +host: 0.0.0.0 + # News Posts paginate: 10 paginate_path: "blog/page:num" http://git-wip-us.apache.org/repos/asf/flink-web/blob/dc91e9f6/build.sh ---------------------------------------------------------------------- diff --git a/build.sh b/build.sh index 2981c4a..72b37f0 100755 --- a/build.sh +++ b/build.sh @@ -37,7 +37,7 @@ if [ "`command -v bundle`" == "" ]; then fi # Install Ruby dependencies locally -bundle install --path .rubydeps +bundle install --full-index --path .rubydeps DOCS_SRC=${DIR} DOCS_DST=${DOCS_SRC}/content http://git-wip-us.apache.org/repos/asf/flink-web/blob/dc91e9f6/docker/Dockerfile ---------------------------------------------------------------------- diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..6a5b8b3 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,23 @@ +# 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 ubuntu:16.10 + +RUN apt-get update && \ + apt-get install -y vim gem ruby-dev make gcc g++ python-setuptools && \ + gem install bundler && \ + cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime + http://git-wip-us.apache.org/repos/asf/flink-web/blob/dc91e9f6/docker/run.sh ---------------------------------------------------------------------- diff --git a/docker/run.sh b/docker/run.sh new file mode 100755 index 0000000..cb41d65 --- /dev/null +++ b/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-web" + +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.sh' +echo 'To watch and regenerate automatically' +echo ' ./build.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 +