diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/docker/build-docker-image.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/docker/build-docker-image.sh b/scripts/docker/build-docker-image.sh new file mode 100755 index 00000000..3ef003dc --- /dev/null +++ b/scripts/docker/build-docker-image.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +if [ -z "${LEAP_CODE_O_MATIC_PRIVATE_TOKEN}" ]; then + echo "Can't proceed without LEAP_CODE_O_MATIC_PRIVATE_TOKEN variable set." + exit 1 +fi + +PIPELINE_URL="https://0xacab.org/api/v4/projects/519/pipelines" +TOKEN_HEADER="PRIVATE-TOKEN: ${LEAP_CODE_O_MATIC_PRIVATE_TOKEN}" +PYTHON_CMD="import sys, json; print json.load(sys.stdin)[1]['sha']" + +RESPONSE=$(curl -f -s --header "${TOKEN_HEADER}" ${PIPELINE_URL}) +LAST_COMMIT=$(echo "${RESPONSE}" | python -c "${PYTHON_CMD}") + +if [ -z "${LAST_COMMIT}" ]; then + echo "Can't proceed without LAST_COMMIT variable set." + exit 1 +fi + +if git diff "${LAST_COMMIT}" HEAD --name-only | grep testing/docker; then + docker --version + docker info + docker login -u gitlab-ci-token -e sysdev@leap.se -p "${CI_JOB_TOKEN}" "${CI_REGISTRY}" + docker build -t "${CI_REGISTRY_IMAGE}:latest" testing/docker + docker push "${CI_REGISTRY_IMAGE}":latest +fi + |