test docker image before pushing

This commit is contained in:
Giancarlo Rubio 2017-01-24 11:19:44 +01:00
parent 6eafa51fa8
commit 1438243934
3 changed files with 34 additions and 0 deletions

View file

@ -76,6 +76,10 @@ docker:
@echo ">> building docker image"
@docker build -t "$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" .
test-docker:
@echo ">> testing docker image"
./test_image.sh "$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" 9100
$(GOPATH)/bin/promu promu:
@GOOS= GOARCH= $(GO) get -u github.com/prometheus/promu

View file

@ -33,6 +33,7 @@ dependencies:
test:
override:
- docker run --rm -t -v "$(pwd):/app" "${DOCKER_TEST_IMAGE_NAME}" -i "${REPO_PATH}" -T
- make test-docker
deployment:
hub_branch:

29
test_image.sh Executable file
View file

@ -0,0 +1,29 @@
#!/bin/bash
set -exo pipefail
docker_image=$1
port=$2
wait_start() {
for in in {1..10}; do
if /usr/bin/curl -s -m 5 -f "http://localhost:${port}/metrics" > /dev/null ; then exit 0 ;
else
sleep 1
fi
done
exit 1
}
docker_start() {
docker run -d -p "${port}":"${port}" "${docker_image}"
}
if [[ "$#" -ne 2 ]] ; then
echo "Usage: $0 quay.io/prometheus/node-exporter:v0.13.0 9100" >&2
exit 1
fi
docker_start
wait_start