kubernetes/docs
Kubernetes Submit Queue 63139f937c Merge pull request #30787 from jbeda/rsync
Automatic merge from submit-queue

Speed up dockerized builds

This PR speeds up dockerized builds.  First, we make sure that we are as incremental as possible.  The bigger change is that now we use rsync to move sources into the container and get data back out.

To do yet:
* [x] Add a random password to rsync.  This is 128bit MD4, but it is better than nothing.
* [x] Lock down rsync to only come from the host.
* [x] Deal with remote docker engines -- this should be necessary for docker-machine on the mac.
* [x] Allow users to specify the port for the rsync daemon.  Perhaps randomize this or let docker pick an ephemeral port and detect the port?
* [x] Copy back generated files so that users can check them in.  This is done for `zz_generated.*` files generated by `make generated_files` 
  * [x] This should include generated proto files so that we can remove the hack-o-rama that is `hack/hack/update-*-dockerized.sh` 
* [x] Start "versioning" the build container and the data container so that the CI system doesn't have to be manually kicked.
* [x] Get some benchmarks to qualify how much faster.

This replaces #28518 and is related to #30600.

cc @thockin @spxtr @david-mcmahon @MHBauer 

Benchmarks by running `make clean ; sync ; time bash -xc 'time build/make-build-image.sh ; time sync ; time build/run.sh make ; time sync; time build/run.sh make'` on a GCE n1-standard-8 with PD-SSD.

| setup | build image | sync | first build | sync | second build | total |
|-------|-------------|----- |----------|------|--------------|------|
| baseline | 0m11.420s | 0m0.812s | 7m2.353s | 0m42.380s | 7m8.381s | 15m5.348s |
| this pr | 0m10.977s | 0m15.168s | 7m31.096s | 1m55.692s | 0m16.514s | 10m9.449s |
2016-10-05 19:51:09 -07:00
..
admin Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
api-reference Replace references to http://releases.k8s.io/HEAD/docs/user-guide/ 2016-10-02 11:44:40 +01:00
design Remove support for boot2docker 2016-10-03 19:42:20 -07:00
devel Add community expectations about conduct and reviewing. 2016-09-30 15:35:15 +00:00
getting-started-guides Delete vagrant.md 2016-09-27 17:02:14 -04:00
images Updated for v1.2.0. 2016-03-18 14:20:56 -07:00
man/man1 Merge pull request #33275 from maciaszczykm/remove-kubectl-namespace-cmd 2016-09-24 02:51:39 -07:00
proposals Merge pull request #33951 from pmorie/selinux-overhaul 2016-10-05 13:09:18 -07:00
user-guide Remove kubectl namespace command 2016-09-22 15:46:20 +02:00
yaml/kubectl Remove kubectl namespace command 2016-09-22 15:46:20 +02:00
api.md Change minion to node 2016-09-28 10:53:30 -07:00
OWNERS Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
README.md Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
reporting-security-issues.md Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
roadmap.md Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
troubleshooting.md Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
warning.png
whatisk8s.md Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00

WARNING WARNING WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree

If you are using a released version of Kubernetes, you should refer to the docs that go with that version.

The latest release of this document can be found [here](http://releases.k8s.io/release-1.4/docs/README.md).

Documentation for other releases can be found at releases.k8s.io.

Kubernetes Documentation: releases.k8s.io/HEAD

Analytics