diff options
-rw-r--r-- | .gitlab-ci.yml | 16 | ||||
-rwxr-xr-x | scripts/docker/build-docker-image.sh | 29 |
2 files changed, 30 insertions, 15 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bfbba031..731c5da6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -113,22 +113,8 @@ build_docker_image: - docker:dind tags: - docker-in-docker - before_script: - - > - export LAST_COMMIT=$(curl -s \ - --header "PRIVATE-TOKEN: ${LEAP_CODE_O_MATIC_PRIVATE_TOKEN}" \ - https://0xacab.org/api/v4/projects/519/pipelines | \ - python -c "import sys, json; print json.load(sys.stdin)[1]['sha']") script: - - > - 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 + - scripts/docker/build-docker-image.sh package:amd64_jessie: variables: 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 + |