diff options
author | Javier Sepulveda <javier.sepulveda@uv.es> | 2023-01-27 10:55:28 +0100 |
---|---|---|
committer | Javier Sepulveda <javier.sepulveda@uv.es> | 2023-01-27 10:55:28 +0100 |
commit | 8d87c7015abd415f462493705a88612d7988a10c (patch) | |
tree | 15e2b646e65b7dec31ee90b0082b36b2e6b5a917 | |
parent | b9679ac144bee61f50b7b3ff8135bf5da78277a8 (diff) | |
download | deployment-8d87c7015abd415f462493705a88612d7988a10c.tar.gz deployment-8d87c7015abd415f462493705a88612d7988a10c.tar.bz2 deployment-8d87c7015abd415f462493705a88612d7988a10c.zip |
Conversion format from Bash to Docker: www.git - Step 1
-rw-r--r-- | docker/sites-build/Dockerfile | 25 | ||||
-rw-r--r-- | docker/sites-build/Makefile | 22 | ||||
-rwxr-xr-x | docker/sites-build/build.sh | 3 | ||||
-rw-r--r-- | docker/sites-build/requirements.txt | 13 | ||||
-rwxr-xr-x | docker/sites-build/run.sh | 22 | ||||
-rwxr-xr-x | docker/sites-build/sh-files/invalidate.sh | 37 | ||||
-rwxr-xr-x | docker/sites-build/sh-files/update_buywith_page.sh | 27 | ||||
-rwxr-xr-x | docker/sites-build/sh-files/update_stage.sh | 28 | ||||
-rwxr-xr-x | docker/sites-build/sh-files/update_twister_page.sh | 27 | ||||
-rwxr-xr-x | docker/sites-build/sh-files/update_www.sh | 29 |
10 files changed, 233 insertions, 0 deletions
diff --git a/docker/sites-build/Dockerfile b/docker/sites-build/Dockerfile new file mode 100644 index 0000000..c252e8e --- /dev/null +++ b/docker/sites-build/Dockerfile @@ -0,0 +1,25 @@ +FROM python:alpine + +WORKDIR /sites-builder + +# Dependencies + +COPY requirements.txt /sites-builder +RUN pip install -r requirements.txt + +# Install GIT + +RUN apk add git + +#Copy needed files from host to container + +COPY ./sh-files/invalidate.sh /sites-builder +COPY ./sh-files/update_buywith_page.sh /sites-builder +COPY ./sh-files/update_stage.sh /sites-builder +COPY ./sh-files/update_twister_page.sh /sites-builder +COPY ./sh-files/update_www.sh /sites-builder + +# Execute and compile inside container: + +ENTRYPOINT ./invalidate.sh + diff --git a/docker/sites-build/Makefile b/docker/sites-build/Makefile new file mode 100644 index 0000000..30cd033 --- /dev/null +++ b/docker/sites-build/Makefile @@ -0,0 +1,22 @@ +BASE="${HOME}/deployment/taler-sitesbuild" + +all: www.taler.net-stamp +all: twister.taler.net-stamp +all: stage.taler.net-stamp +all: buywith.taler.net-stamp + +stage.taler.net-stamp: + ${BASE}/update_stage.sh + touch $@ + +www.taler.net-stamp: + ${BASE}/update_www.sh + touch $@ + +twister.taler.net-stamp: + ${BASE}/update_twister_page.sh + touch $@ + +buywith.taler.net-stamp: + ${BASE}/update_buywith_page.sh + touch $@ diff --git a/docker/sites-build/build.sh b/docker/sites-build/build.sh new file mode 100755 index 0000000..43f2e71 --- /dev/null +++ b/docker/sites-build/build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +docker build . -t sites-builder-image diff --git a/docker/sites-build/requirements.txt b/docker/sites-build/requirements.txt new file mode 100644 index 0000000..c34beac --- /dev/null +++ b/docker/sites-build/requirements.txt @@ -0,0 +1,13 @@ +Jinja2 + +# python3-babel +# python3-distutils +# python3-ruamel.yaml + + +# ruamel.yaml + +# python3-ruamel.yaml +# python3-jinja2 +# python3-babel git + diff --git a/docker/sites-build/run.sh b/docker/sites-build/run.sh new file mode 100755 index 0000000..75d9b4b --- /dev/null +++ b/docker/sites-build/run.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Execute "Docker: sites-builer-image" + +docker run -v /home/javisep/taler-sites-local:/taler-sites-container sites-builder-image make -k + +# COPY websites from Docker volume to final destination + +# Nginx taler.net directories +#/home/taler-websites/* +#/home/taler-websites/www.taler.net; +#/home/taler-websites/stage.taler.net; + +#TALER_SITE=home/taler-websites/www.taler.net +#TALER_STAGE_SITE=home/taler-websites/stage.taler.net + + +# Copy data (sites),from local to the Nginx destination + +#cp -r /home/javisep/taler-sites-local/www.taler.net/* $TALER_SITE +#cp -r /home/javisep/taler-sites-local/stage.taler.net/* $TALER_STAGE_SITE + diff --git a/docker/sites-build/sh-files/invalidate.sh b/docker/sites-build/sh-files/invalidate.sh new file mode 100755 index 0000000..bb8c22f --- /dev/null +++ b/docker/sites-build/sh-files/invalidate.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +set -eu + +cd $HOME/www +git fetch + +# First check stable. +git checkout stable -f +if git status -sb | grep behind; then + echo "invalidating www.taler.net" + rm -f $HOME/stamps/www.taler.net-stamp +fi + +# Then master branch. +git checkout master -f +if git status -sb | grep behind; then + echo "invalidating stage.taler.net" + rm -f $HOME/stamps/stage.taler.net-stamp +fi + +# Check Twister Web page. +cd $HOME/twister +git fetch +if git status -sb | grep behind; then + echo "invalidating twister.taler.net" + rm -f $HOME/stamps/twister.taler.net-stamp +fi + + +# Check Twister Web page. +cd $HOME/buywith +git fetch +if git status -sb | grep behind; then + echo "invalidating buywith.taler.net" + rm -f $HOME/stamps/buywith.taler.net-stamp +fi diff --git a/docker/sites-build/sh-files/update_buywith_page.sh b/docker/sites-build/sh-files/update_buywith_page.sh new file mode 100755 index 0000000..a865a6b --- /dev/null +++ b/docker/sites-build/sh-files/update_buywith_page.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/buywith/ +fetch +git submodule update --force --init + +# Generate current version under 'work in progress' (wip) folder +mkdir -p $HOME/buywith.taler.net.wip/ +cp -r web/* $HOME/buywith.taler.net.wip/ +chmod -R g+rx $HOME/buywith.taler.net.wip/ + +# delete ancient version (if any) +rm -fr $HOME/buywith.taler.net.old/ + +# Finally, do two fast renames to make the current version active +mv $HOME/buywith.taler.net/ $HOME/buywith.taler.net.old/ +mv $HOME/buywith.taler.net.wip/ $HOME/buywith.taler.net/ diff --git a/docker/sites-build/sh-files/update_stage.sh b/docker/sites-build/sh-files/update_stage.sh new file mode 100755 index 0000000..19dce15 --- /dev/null +++ b/docker/sites-build/sh-files/update_stage.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) + git reset --hard "$branch" +} + +# Local checkout must exist. +cd $HOME/www + +git checkout master -f +fetch +git submodule update --init --force +# Generate current version under 'work in progress' (wip) folder +./bootstrap +./configure --baseurl="https://stage.taler.net/" --prefix=$HOME/stage.taler.net.wip +make install +chmod -R g+rx $HOME/stage.taler.net.wip/ +# Clean up 'ancient' version (before previous) +rm -rf $HOME/stage.taler.net.old/ +# Finally, do two fast renames to make the current version active +mv $HOME/stage.taler.net/ $HOME/stage.taler.net.old/ || true +mv $HOME/stage.taler.net.wip/ $HOME/stage.taler.net/ diff --git a/docker/sites-build/sh-files/update_twister_page.sh b/docker/sites-build/sh-files/update_twister_page.sh new file mode 100755 index 0000000..6cc3c8c --- /dev/null +++ b/docker/sites-build/sh-files/update_twister_page.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo head) + git reset --hard "$branch" +} + +cd $HOME/twister/ +fetch +git submodule update --force --init + +# Generate current version under 'work in progress' (wip) folder +mkdir -p $HOME/twister.taler.net.wip/ +cp -r web/* $HOME/twister.taler.net.wip/ +chmod -R g+rx $HOME/twister.taler.net.wip/ + +# delete ancient version (if any) +rm -fr $HOME/twister.taler.net.old/* + +# Finally, do two fast renames to make the current version active +mv $HOME/twister.taler.net/ $HOME/twister.taler.net.old/ +mv $HOME/twister.taler.net.wip/ $HOME/twister.taler.net/ diff --git a/docker/sites-build/sh-files/update_www.sh b/docker/sites-build/sh-files/update_www.sh new file mode 100755 index 0000000..62acd95 --- /dev/null +++ b/docker/sites-build/sh-files/update_www.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +set -eu + +fetch () { + git clean -fdx + git fetch + # reset to updated upstream branch, but only if we're tracking a branch + branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo HEAD) + git reset --hard "$branch" +} + +# Assumes the repo was already checked out once. +cd $HOME/www + +git checkout stable -f +fetch +git submodule update --init --force +./bootstrap +./configure --baseurl="https://taler.net/" --prefix=$HOME/www.taler.net.wip +make install + +chmod -R g+rx $HOME/www.taler.net.wip/ + +# Clean up 'ancient' version (before previous) +rm -rf $HOME/www.taler.net.old/ +# Finally, do two fast renames to make the current version active +mv $HOME/www.taler.net/ $HOME/www.taler.net.old/ || true +mv $HOME/www.taler.net.wip/ $HOME/www.taler.net/ |