taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

commit e09dcfd8380306d9b88f943fb4517c2d7b89d857
parent 8d87c7015abd415f462493705a88612d7988a10c
Author: Javier Sepulveda <javier.sepulveda@uv.es>
Date:   Fri, 27 Jan 2023 12:26:20 +0100

Conversion format from Bash to Docker: www.git - Step 2

Diffstat:
Mdocker/sites-build/Dockerfile | 17++++++-----------
Ddocker/sites-build/Makefile | 22----------------------
Adocker/sites-build/build-sites.sh | 5+++++
Mdocker/sites-build/requirements.txt | 14++------------
Mdocker/sites-build/run.sh | 4+++-
Ddocker/sites-build/sh-files/invalidate.sh | 37-------------------------------------
Ddocker/sites-build/sh-files/update_buywith_page.sh | 27---------------------------
Ddocker/sites-build/sh-files/update_stage.sh | 28----------------------------
Ddocker/sites-build/sh-files/update_twister_page.sh | 27---------------------------
Ddocker/sites-build/sh-files/update_www.sh | 29-----------------------------
10 files changed, 16 insertions(+), 194 deletions(-)

diff --git a/docker/sites-build/Dockerfile b/docker/sites-build/Dockerfile @@ -1,25 +1,20 @@ FROM python:alpine -WORKDIR /sites-builder - # Dependencies -COPY requirements.txt /sites-builder +COPY requirements.txt / + RUN pip install -r requirements.txt # Install GIT RUN apk add git -#Copy needed files from host to container +# Create the user -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 +RUN useradd -m taler-websites && su taler-websites -# Execute and compile inside container: +# Execute when container run -ENTRYPOINT ./invalidate.sh +ENTRYPOINT ./deployment/docker/sites-build/build-sites.sh diff --git a/docker/sites-build/Makefile b/docker/sites-build/Makefile @@ -1,22 +0,0 @@ -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-sites.sh b/docker/sites-build/build-sites.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -eu +cd $HOME/stamps +./invalidate.sh +make -k diff --git a/docker/sites-build/requirements.txt b/docker/sites-build/requirements.txt @@ -1,13 +1,3 @@ Jinja2 - -# python3-babel -# python3-distutils -# python3-ruamel.yaml - - -# ruamel.yaml - -# python3-ruamel.yaml -# python3-jinja2 -# python3-babel git - +ruamel.yaml +Babel diff --git a/docker/sites-build/run.sh b/docker/sites-build/run.sh @@ -2,7 +2,9 @@ # Execute "Docker: sites-builer-image" -docker run -v /home/javisep/taler-sites-local:/taler-sites-container sites-builder-image make -k +docker run -v $HOME:/home/taler-websites sites-builder-image + + # COPY websites from Docker volume to final destination diff --git a/docker/sites-build/sh-files/invalidate.sh b/docker/sites-build/sh-files/invalidate.sh @@ -1,37 +0,0 @@ -#!/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 @@ -1,27 +0,0 @@ -#!/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 @@ -1,28 +0,0 @@ -#!/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 @@ -1,27 +0,0 @@ -#!/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 @@ -1,29 +0,0 @@ -#!/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/