From: Tomas Krizek Date: Tue, 21 Dec 2021 16:20:46 +0000 (+0100) Subject: ci/images: automate build&push of images X-Git-Tag: v5.5.0~18^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bc815f7e5d08762fee68acd8542df0762797c5f;p=thirdparty%2Fknot-resolver.git ci/images: automate build&push of images --- diff --git a/ci/README.md b/ci/README.md deleted file mode 100644 index 8bd70a24b..000000000 --- a/ci/README.md +++ /dev/null @@ -1,11 +0,0 @@ -Docker Build ------------- - -``` -$ export DISTRO=debian-buster # also debian-11 -$ export KNOT_BRANCH=3.0 # also master -$ docker build --no-cache -t registry.nic.cz/knot/knot-resolver/ci/$DISTRO:knot-$KNOT_BRANCH --build-arg KNOT_BRANCH=$KNOT_BRANCH $DISTRO - -$ docker login registry.nic.cz -$ docker push registry.nic.cz/knot/knot-resolver/ci/$DISTRO:knot-$KNOT_BRANCH -``` diff --git a/ci/images/build.sh b/ci/images/build.sh new file mode 100755 index 000000000..98a921558 --- /dev/null +++ b/ci/images/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# build specified docker image + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" +source "${CURRENT_DIR}"/vars.sh "$@" +set -ex + +docker build --no-cache -t "${FULL_NAME}" "${IMAGE}" --build-arg KNOT_BRANCH=${KNOT_BRANCH} diff --git a/ci/debian-11/Dockerfile b/ci/images/debian-11/Dockerfile similarity index 100% rename from ci/debian-11/Dockerfile rename to ci/images/debian-11/Dockerfile diff --git a/ci/debian-buster/Dockerfile b/ci/images/debian-buster/Dockerfile similarity index 100% rename from ci/debian-buster/Dockerfile rename to ci/images/debian-buster/Dockerfile diff --git a/ci/images/push.sh b/ci/images/push.sh new file mode 100755 index 000000000..75f5f8782 --- /dev/null +++ b/ci/images/push.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# upload docker image into registry + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" +source "${CURRENT_DIR}"/vars.sh "$@" +set -ex + +docker push "${FULL_NAME}" diff --git a/ci/images/update.sh b/ci/images/update.sh new file mode 100755 index 000000000..7be51727a --- /dev/null +++ b/ci/images/update.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# build and upload docker image(s) into registry +# +# this is a simple wrapper around build.sh and update.sh +# +# to build & upload all images: ./update.sh */ + +if [[ $# -le 0 ]]; then + echo "usage: $0 IMAGE..." + exit 1 +fi +set -e + +for ARG in "$@" +do + IMAGE=${ARG%/} + echo "Building $IMAGE..." + ./build.sh $IMAGE + echo "Pushing $IMAGE..." + ./push.sh $IMAGE +done + diff --git a/ci/images/vars.sh b/ci/images/vars.sh new file mode 100755 index 000000000..f2ea46555 --- /dev/null +++ b/ci/images/vars.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# define common variables for image build scripts + +KNOT_BRANCH="${KNOT_BRANCH:-3.1}" + +REGISTRY="registry.nic.cz/knot/knot-resolver/ci" +IMAGE=$1 +if [ -z "${IMAGE}" ]; then + echo "image name not provided" + exit 1 +fi +TAG="knot-${KNOT_BRANCH}" +FULL_NAME="${REGISTRY}/${IMAGE}:${TAG}"