shithub: hugo

Download patch

ref: d9697e275ecb038958b3dcea2b43e11dcba28fc9
parent: 09d960f17396eb7fd2c8fe6527db9503d59f0b4f
author: Thibault Jamet <[email protected]>
date: Thu Sep 7 11:17:44 EDT 2017

Split go build in Dockerfile

To maximize the usage of cache, split the govendor get in steps:
- govendor fetch to get the pinned versions of dependencies
- go install to actually build the binary

Doing so allows not to re-download the whole dependencies when changing
lines in hugo repository

The current Dockerfile generates an image of 16.6MB

Signed-off-by: Thibault Jamet <[email protected]>

--- a/Dockerfile
+++ b/Dockerfile
@@ -2,9 +2,11 @@
 
 RUN apk add --no-cache --virtual git musl-dev
 RUN go get github.com/kardianos/govendor
-RUN govendor get github.com/gohugoio/hugo
+
+ADD vendor/vendor.json /go/src/github.com/gohugoio/hugo/vendor/vendor.json
 WORKDIR /go/src/github.com/gohugoio/hugo
-RUN rm -f $GOPATH/bin/hugo
+RUN govendor sync
+ADD . /go/src/github.com/gohugoio/hugo/
 RUN go install -ldflags '-s -w'
 
 FROM alpine:3.6