From e0aa1cd978f978ed3ac90adaf8415b60ce039c79 Mon Sep 17 00:00:00 2001 From: Varac Date: Mon, 25 Sep 2017 16:52:04 +0200 Subject: Build docker images from CI --- .gitlab/build.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 .gitlab/build.sh (limited to '.gitlab') diff --git a/.gitlab/build.sh b/.gitlab/build.sh new file mode 100755 index 00000000..cc63075d --- /dev/null +++ b/.gitlab/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Build script for the gitlab ci. +# +# usage: build.sh DIR [TAG] +# +# Will run docker build in DIR with DIR/Dockerfile or +# DIR/TAG.dockerfile if TAG is given. +# +# Assumes CI specific environment variables to be set: +# CI_REGISTRY_IMAGE +# LAST_COMMIT (fetched from the gitlab api in before_script hook) +# + +DIR=$1 +TAG=${2:-latest} +DOCKERFILE=docker/${DIR}/${2:-Dockerfile}${2:+.dockerfile} +TARGET=${CI_REGISTRY_IMAGE}/${DIR}:${TAG} + +if git diff "$LAST_COMMIT" HEAD --name-only | egrep "($DOCKERFILE|^.gitlab)"; then + docker login -u gitlab-ci-token -p "$CI_JOB_TOKEN" "$CI_REGISTRY" + docker build -t "$TARGET" -f "$DOCKERFILE" docker/ + docker push "$TARGET" +fi -- cgit v1.2.3