From 5e988509d530c18674b5936cbc4af5cdc1831365 Mon Sep 17 00:00:00 2001 From: Petr Bokoc Date: Sep 17 2019 12:12:08 +0000 Subject: Update build and preview scripts --- diff --git a/build.sh b/build.sh index 083da18..1e4db2d 100755 --- a/build.sh +++ b/build.sh @@ -1,35 +1,46 @@ #!/bin/sh -image="antora/antora" +image="docker.io/antora/antora" cmd="--html-url-extension-style=indexify site.yml" if [ "$(uname)" == "Darwin" ]; then # Running on macOS. # Let's assume that the user has the Docker CE installed # which doesn't require a root password. + echo "" + echo "This build script is using Docker container runtime to run the build in an isolated environment." + echo "" docker run --rm -it -v $(pwd):/antora $image $cmd elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then # Running on Linux. # Check whether podman is available, else faill back to docker # which requires root. + if [ -f /usr/bin/podman ]; then - runtime="podman" - else - runtime="docker" - fi - if groups | grep -wq "docker"; then - # Check if the current user is in the "docker" group. If true, no sudo is needed. echo "" - echo "This build script is using $runtime to run the build in an isolated environment." + echo "This build script is using Podman to run the build in an isolated environment." echo "" - $runtime run --rm -it -v $(pwd):/antora:z $image $cmd - else - # User isn't in the docker group; run the command with sudo. + podman run --rm -it -v $(pwd):/antora:z $image $cmd + + elif [ -f /usr/bin/docker ]; then + echo "" + echo "This build script is using Docker to run the build in an isolated environment." echo "" - echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." - echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + + if groups | grep -wq "docker"; then + docker run --rm -it -v $(pwd):/antora:z $image $cmd + else + echo "" + echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + echo "" + sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd + fi + else echo "" - sudo $runtime run --rm -it -v $(pwd):/antora:z $image $cmd + echo "Error: Container runtime haven't been found on your system. Fix it by:" + echo "$ sudo dnf install podman" + exit 1 fi fi diff --git a/preview.sh b/preview.sh index 16d02d8..acc52af 100755 --- a/preview.sh +++ b/preview.sh @@ -9,28 +9,10 @@ if [ "$(uname)" == "Darwin" ]; then elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then # Running on Linux. - # Check whether podman is available, else faill back to docker - # which requires root. - if [ -f /usr/bin/podman ]; then - runtime="podman" - else - runtime="docker" - fi - if groups | grep -wq "docker"; then - # Check if the current user is in the "docker" group. If true, no sudo is needed. - echo "" - echo "This build script is using $runtime to run the build in an isolated environment." - echo "The preview will be available at http://localhost:8080/" - echo "" - $runtime run --rm -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z -p 8080:80 nginx - else - # User isn't in the docker group; run the command with sudo. - echo "" - echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." - echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." - echo "" - echo "The preview will be available at http://localhost:8080/" - echo "" - sudo $runtime run --rm -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z -p 8080:80 nginx - fi + # Fedora Workstation has python3 installed as a default, so using that + echo "" + echo "The preview is available at http://localhost:8080" + echo "" + cd ./public + python3 -m http.server 8080 fi