From eb76823ce3ec609e03efcb5d7b871275ae8a1d59 Mon Sep 17 00:00:00 2001 From: Lennart Kramer <lennart.kramer@stud.uni-goettingen.de> Date: Wed, 22 Jul 2020 17:58:30 +0200 Subject: [PATCH] restructure build --- .gitlab-ci.yml | 5 +---- build.sh | 9 +++----- buildimage.sh | 54 +++++++++++++++++++++++++++++------------------ buildweb.sh | 4 ++++ goemaxima_version | 1 + versions | 18 ++++++++-------- 6 files changed, 51 insertions(+), 40 deletions(-) create mode 100755 buildweb.sh create mode 100644 goemaxima_version diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 054cf58..747e768 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,10 +15,7 @@ steve_jobs: tags: - docker script: - - go get github.com/prometheus/client_golang/prometheus - - go get github.com/prometheus/client_golang/prometheus/promhttp - - cd src/web - - GOBIN=${CI_PROJECT_DIR}/bin go install + - ./buildweb.sh artifacts: paths: - bin/web diff --git a/build.sh b/build.sh index 91bf00f..363ab44 100755 --- a/build.sh +++ b/build.sh @@ -1,9 +1,6 @@ REGISTRY=$1 -grep -v '^#' versions | \ -while read -r line; do - maxima_version="$(echo "$line" | cut -f1)" - sbcl_version="$(echo "$line" | cut -f2)" - stack_version="$(echo "$line" | cut -f3)" +grep -v '^#' versions | cut -f1 | \ +while read -r ver; do goemaxima_version="$2" - ./buildimage.sh "${sbcl_version}" "${maxima_version}" "$stack_version" "stack/$stack_version/maxima" "${REGISTRY}" "$goemaxima_version" || exit 1 + ./buildimage.sh "$ver" "${REGISTRY}" "$goemaxima_version" || exit 1 done diff --git a/buildimage.sh b/buildimage.sh index 6dc35cd..8531a52 100755 --- a/buildimage.sh +++ b/buildimage.sh @@ -1,26 +1,38 @@ -##/bin/bash -# arg1: sbcl version -# arg2: maxima version -# arg3: stack or moodle version: "stack-XXX" or "moodlev.X" -# arg4: LIB_PATH -# arg5: REGISTRY or dockerhub id -# arg6: version of goemaxima -# +#!/bin/bash +# arg1: stack or moodle version: "stack-XXX" or "moodlev.X" +# arg2: REGISTRY or dockerhub id + +stackver="$1" +if [ -z "$stackver" ]; then + echo "Stack version is missing" + echo "Usage: $0 stackmaximaversion [registry] [containerversion]" +fi +verstring=$(awk '$1 == "'"$1"'"{ print $0 }' versions) +sbclver="$(echo "$verstring" | cut -f2)" +maximaver="$(echo "$verstring" | cut -f3)" +goemaxver="$(cat goemaxima_version)" +libpath="stack/$stackver/maxima" echo "starting to build image for:" -echo "sbcl: $1" -echo "maxima: $2" -echo "stack: $3" -IMAGENAME="goemaxima:$3" -docker pull "$5/$IMAGENAME-dev" +echo "sbcl: $maximaver" +echo "maxima: $sbclver" +echo "stackmaxima: $stackver" +echo "goemaxima: $goemaxver" +REG="$2" +IMAGENAME="goemaxima:$1" +if [ -n "$REG" ]; then + docker pull "$2/$IMAGENAME-dev" +fi # build it -docker build -t "${IMAGENAME}" --build-arg MAXIMA_VERSION="$2" --build-arg SBCL_VERSION="$1" --build-arg LIB_PATH="$4" . || exit 1 +docker build -t "${IMAGENAME}" --build-arg MAXIMA_VERSION="$maximaver" --build-arg SBCL_VERSION="$sbclver" --build-arg LIB_PATH="$libpath" . || exit 1 echo "${IMAGENAME} wurde erfolgreich gebaut." # push the image -docker tag "$IMAGENAME" "$5/$IMAGENAME-dev" -docker push "$5/$IMAGENAME-dev" -if [ -n "$6" ]; then - docker tag "$IMAGENAME" "$5/$IMAGENAME-$6" - docker push "$5/$IMAGENAME-$6" - docker tag "$IMAGENAME" "$5/$IMAGENAME-latest" - docker push "$5/$IMAGENAME-latest" +if [ -n "$REG" ]; then + docker tag "$IMAGENAME" "$2/$IMAGENAME-dev" + docker push "$2/$IMAGENAME-dev" + if [ -n "$3" ]; then + docker tag "$IMAGENAME" "$2/$IMAGENAME-$3" + docker push "$2/$IMAGENAME-$3" + docker tag "$IMAGENAME" "$2/$IMAGENAME-latest" + docker push "$2/$IMAGENAME-latest" + fi fi diff --git a/buildweb.sh b/buildweb.sh new file mode 100755 index 0000000..466f84b --- /dev/null +++ b/buildweb.sh @@ -0,0 +1,4 @@ +go get github.com/prometheus/client_golang/prometheus +go get github.com/prometheus/client_golang/prometheus/promhttp +GOBIN=$(realpath bin) go install ./src/web + diff --git a/goemaxima_version b/goemaxima_version new file mode 100644 index 0000000..6d7de6e --- /dev/null +++ b/goemaxima_version @@ -0,0 +1 @@ +1.0.2 diff --git a/versions b/versions index b12e282..d045f08 100644 --- a/versions +++ b/versions @@ -1,10 +1,10 @@ # maxima,sbcl,stack -5.41.0 2.0.2 2014083000 -5.41.0 2.0.2 2017121800 -5.41.0 2.0.2 2018030500 -5.41.0 2.0.2 2018080600 -5.41.0 2.0.2 2019090200 -5.41.0 2.0.2 2020042000 -5.41.0 2.0.2 2020052700 -5.41.0 2.0.2 2020061000 -5.41.0 2.0.2 2020070100 +2014083000 5.41.0 2.0.2 +2017121800 5.41.0 2.0.2 +2018030500 5.41.0 2.0.2 +2018080600 5.41.0 2.0.2 +2019090200 5.41.0 2.0.2 +2020042000 5.41.0 2.0.2 +2020052700 5.41.0 2.0.2 +2020061000 5.41.0 2.0.2 +2020070100 5.41.0 2.0.2 -- GitLab