diff --git a/Makefile b/Makefile index af116a4..34121ba 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,11 @@ -.PHONY: none pixiecore-docker +.PHONY: none pixiecore pixiecore-git none: @echo "Use glide and the go tool for development" @echo "This makefile is just a shortcut for building docker containers." -pixiecore-docker: - sudo docker build --rm -t danderson/pixiecore -f cmd/pixiecore/Dockerfile . +pixiecore: + sudo docker build --rm -t danderson/pixiecore -f dockerfiles/pixiecore/Dockerfile . + +pixiecore-git: + sudo docker build --rm -t danderson/pixiecore dockerfiles/pixiecore diff --git a/cmd/pixiecore/Dockerfile b/cmd/pixiecore/Dockerfile deleted file mode 100644 index 0ae522c..0000000 --- a/cmd/pixiecore/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -FROM alpine:edge -MAINTAINER David Anderson - -COPY . /tmp/go/src/go.universe.tf/netboot -RUN \ - export GOPATH=/tmp/go &&\ - echo "http://dl-4.alpinelinux.org/alpine/edge/community" >>/etc/apk/repositories &&\ - apk -U add ca-certificates git go gcc musl-dev &&\ - apk upgrade &&\ - cd /tmp/go/src/go.universe.tf/netboot &&\ - ls -l &&\ - go get -v . &&\ - cd cmd/pixiecore &&\ - go build . &&\ - cp pixiecore /pixiecore &&\ - cd / &&\ - rm -rf /tmp/go &&\ - apk del git go gcc musl-dev &&\ - rm -rf /var/cache/apk/* - -ENTRYPOINT ["/pixiecore"] diff --git a/dockerfiles/pixiecore/Dockerfile b/dockerfiles/pixiecore/Dockerfile new file mode 100644 index 0000000..a6822c6 --- /dev/null +++ b/dockerfiles/pixiecore/Dockerfile @@ -0,0 +1,7 @@ +FROM alpine:edge +MAINTAINER David Anderson + +COPY . /tmp/stuff +RUN cd /tmp/stuff; [ -f build.sh ] && ./build.sh || ./dockerfiles/pixiecore/build.sh + +ENTRYPOINT ["/pixiecore"] diff --git a/dockerfiles/pixiecore/build.sh b/dockerfiles/pixiecore/build.sh new file mode 100755 index 0000000..843b09a --- /dev/null +++ b/dockerfiles/pixiecore/build.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -x +set -e + +mkdir -p /tmp/go/src/go.universe.tf +if [ -d /tmp/stuff/.git ]; then + echo "Building from local dev copy" + mkdir -p /tmp/go/src/go.universe.tf + cp -R /tmp/stuff /tmp/go/src/go.universe.tf/netboot +else + echo "Building from git checkout" +fi + +export GOPATH=/tmp/go +echo "http://dl-4.alpinelinux.org/alpine/edge/community" >>/etc/apk/repositories +apk -U add ca-certificates git go gcc musl-dev +apk upgrade +go get -v github.com/Masterminds/glide +go get -v -d go.universe.tf/netboot/cmd/pixiecore +cd /tmp/go/src/go.universe.tf/netboot +/tmp/go/bin/glide install +cd cmd/pixiecore +go build . +cp ./pixiecore /pixiecore +cd / +apk del git go gcc musl-dev +rm -rf /tmp/go /tmp/stuff /root/.glide /usr/lib/go /var/cache/apk/*