summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Sepulveda <javier.sepulveda@uv.es>2023-01-27 10:55:28 +0100
committerJavier Sepulveda <javier.sepulveda@uv.es>2023-01-27 10:55:28 +0100
commit8d87c7015abd415f462493705a88612d7988a10c (patch)
tree15e2b646e65b7dec31ee90b0082b36b2e6b5a917
parentb9679ac144bee61f50b7b3ff8135bf5da78277a8 (diff)
downloaddeployment-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/Dockerfile25
-rw-r--r--docker/sites-build/Makefile22
-rwxr-xr-xdocker/sites-build/build.sh3
-rw-r--r--docker/sites-build/requirements.txt13
-rwxr-xr-xdocker/sites-build/run.sh22
-rwxr-xr-xdocker/sites-build/sh-files/invalidate.sh37
-rwxr-xr-xdocker/sites-build/sh-files/update_buywith_page.sh27
-rwxr-xr-xdocker/sites-build/sh-files/update_stage.sh28
-rwxr-xr-xdocker/sites-build/sh-files/update_twister_page.sh27
-rwxr-xr-xdocker/sites-build/sh-files/update_www.sh29
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/