I created a script called buildme.sh which I have in the top directory (~/go/src/github.com/rancher/external-dns here):
#!/bin/bash
./scripts/build
cd bin/
tar cf ../packaging/external-dns.tar external-dns
gzip -f9 ../packaging/external-dns.tar
docker build -t myregistry/mathuin/external-dns ../packaging
docker push myregistry/mathuin/external-dns
I had to change the packaging Dockerfile as well:
FROM alpine:3.2
MAINTAINER Rancher Labs, Inc.
RUN apk add --update ca-certificates
ENV EXT_DNS_RELEASE v0.6.1
#ADD https://github.com/rancher/external-dns/releases/download/${EXT_DNS_RELEASE}/external-dns.tar.gz /external-dns.tar.gz
COPY external-dns.tar.gz /external-dns.tar.gz
RUN tar -zxvf /external-dns.tar.gz -C /usr/bin
ENTRYPOINT ["/usr/bin/external-dns"]
The resulting artifact is a container which I run in my environment as part of an infrastructure stack.
Let me know if you have any questions!
Jack.