diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..83283d1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM alpine:3.6 +MAINTAINER FrenchBen +COPY latest /src/ +WORKDIR /infrakit +VOLUME ["/infrakit"] + +CMD ["cp", "-R", "/src/*", "/infrakit"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8bc261b --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +TAG := 0.5 +NAMESPACE := infrakit +UPGRADE_IMAGE := ${NAMESPACE}/upgrade:${TAG} + +build: + docker image build -t infrakit-test -f test/Dockerfile . + docker image build -t ${UPGRADE_IMAGE} -f Dockerfile . + +test: clean build + docker volume create infrakit + docker container run -d -t --name infrakit-test -v infrakit:/infrakit infrakit-test + docker container run -d --name infrakit-upgrade -v infrakit:/infrakit ${UPGRADE_IMAGE} sh -c "sleep 10 && cp -R /src/* /infrakit" + docker exec -t infrakit-test watch -d cat /infrakit/swarm/infrakit.sh + +clean: + -docker container rm -f infrakit-test + -docker container rm -f infrakit-upgrade + -docker volume rm infrakit \ No newline at end of file diff --git a/test/Dockerfile b/test/Dockerfile new file mode 100644 index 0000000..03e3b7c --- /dev/null +++ b/test/Dockerfile @@ -0,0 +1,10 @@ +FROM alpine:3.6 +MAINTAINER FrenchBen +RUN apk add --update --no-cache tini + +COPY latest /infratest +COPY test/entry.sh /entry.sh +RUN chmod +x /entry.sh +ENTRYPOINT ["/sbin/tini", "--", "/entry.sh"] + +CMD ["top"] \ No newline at end of file diff --git a/test/entry.sh b/test/entry.sh new file mode 100644 index 0000000..14db148 --- /dev/null +++ b/test/entry.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -e +mv /infratest/* /infrakit/ +sed -i 's/docker run/docker container run/' /infrakit/swarm/infrakit.sh + +eval "$@"