summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2017-07-05 20:03:02 -0300
committerKali Kaneko <kali@leap.se>2017-07-07 21:28:08 +0200
commit4672cb4be9c01d89b17b772331531b6502fb72ba (patch)
tree829f06eae86d9e168bc40a6aa632454183860aee
parent0c5e91c1fa5644e4274e7763ab26138f2cdfb225 (diff)
[pkg] workaround multiline bug in .gitlab-ci.yml
-rw-r--r--.gitlab-ci.yml16
-rwxr-xr-xscripts/docker/build-docker-image.sh29
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
+