-
-
Notifications
You must be signed in to change notification settings - Fork 7.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(go): add govender for the build process #3674
Conversation
sorry had my skeleton comments from my https://github.com/ellerbrock/docker-collection still in it.
@anthonyfok you self-requested a review ... any plans on doing that? |
Yes, I am actually still waiting for @ellerbrock's reply to my review comment above, though I guess it is easy to miss on GitHub, so let me ask @ellerbrock this question again. Hi @ellerbrock, Could you please check and see if a $GOPATH/.cache directory exists? So, yes, would changing
to
make the image smaller? :-) |
Dockerfile
Outdated
cd $GOPATH/src/github.com/gohugoio/hugo && \ | ||
go install && \ | ||
cd $GOPATH && \ | ||
rm -rf pkg src && \ | ||
rm -rf pkg src bin/govendor && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ellerbrock,
Could you please check and see if a $GOPATH/.cache directory exists?
Testing on Debian, govendor get
caches all the dependencies it fetches inside the $GOPATH/.cache/govendor/ directory, and this directory totals 129MB here.
So, yes, would changing
rm -rf pkg src bin/govendor && \
to
rm -rf pkg src .cache bin/govendor && \
make the image smaller? :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi @anthonyfok ,
thanks for the answers, 129MB would be a big optimization.
i had a look inside the container (https://hub.docker.com/r/ellerbrock/alpine-hugo/) but could not see any .cache
folder.
Are there any new changes causing this or do i miss something?
docker run -it --entrypoint ash ellerbrock/alpine-hugo
/ $ cd /go
/go $ ls -alF
total 12
drwxrwxrwx 1 root root 4096 Jul 21 16:39 ./
drwxr-xr-x 1 root root 4096 Jul 23 06:20 ../
drwxrwxrwx 1 root root 4096 Jul 21 16:39 bin/
/go $
Cheers Maik
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ellerbrock,
Thank you for your quick response.
The $GOPATH/.cache
directory is created by govendor
, though I can see that, unlike this pull request, you are not using actually govendor
at https://hub.docker.com/r/ellerbrock/alpine-hugo/~/dockerfile/, hence no $GOPATH/.cache
. 😉 (which personally I won't judge because, putting my Debian Developer hat on, both Debian and Fedora's Go packaging policy demands that we un-vendor everything, so govendor isn't used in packaging Hugo, but anyhow...)
I am now attempting to run sudo docker build
to actually test your Dockerfile. (My hard disk is quite full; hope I won't run out of space doing so, haha.)
Oh! My bad! It turns out that I had a "pending" review which I wrote over two weeks ago, but one which only I myself could see. I thought I had already "submitted" the review, and that the "pending" tag means "pending user feedback", but of course that was not the case. Thanks for the heads up, @bep! |
i quick added the |
Thank you @ellerbrock! It does make a huge difference! Here are the test results:
Looking at the actual layer that contains the Without
|
nice optimization! |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Docker Image Size Optimization
update for: #3666
Cheers Maik