You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Rewrite a bunch of the hack/ directory with modular reusable bash libraries.
* Have 'build/*' build on 'hack/*'. The stuff in build now just runs hack/* in a docker container.
* Use a docker data container to enable faster incremental builds.
* Standardize output to _output/{local,dockerized}/bin/OS/ARCH/*. This regularized placement makes cross compilation work.
* Move travis specific scripts under hack/travis
With new dockerized incremental builds, I can do a no-op `make quick-release` in ~30s. This is a significant improvement.
Copy file name to clipboardExpand all lines: build/README.md
+9-8
Original file line number
Diff line number
Diff line change
@@ -18,12 +18,13 @@ There is also early support for building Docker "run" containers
18
18
19
19
## Key scripts
20
20
21
-
*`make-server.sh`: This will compile all of the Kubernetes server binaries for linux/amd64
22
-
*`make-client.sh`: This will make all cross-compiled client binaries
23
-
*`run-tests.sh`: This will run the Kubernetes unit tests
24
-
*`run-integration.sh`: This will build and run the integration test
25
-
*`copy-output.sh`: This will copy the contents of `_output/build` from any remote Docker container to the local `_output/build`. Right now this is only necessary on Mac OS X with `boot2docker`.
26
-
*`make-clean.sh`: Clean out the contents of `_output/build` and remove any local built container images.
21
+
*`run.sh`: Run a command in a build docker container. Common invocations:
22
+
*`run.sh hack/build-go.sh`: Build just linux binaries in the container. Pass options and packages as necessary.
23
+
*`run.sh hack/build-cross.sh`: Build all binaries for all platforms
24
+
*`run.sh hack/test-go.sh`: Run all unit tests
25
+
*`run.sh hack/test-integration.sh`: Run integration test
26
+
*`copy-output.sh`: This will copy the contents of `_output/dockerized/bin` from any remote Docker container to the local `_output/dockerized/bin`. Right now this is only necessary on Mac OS X with `boot2docker` when your git repo isn't under `/Users`.
27
+
*`make-clean.sh`: Clean out the contents of `_output/dockerized` and remove any local built container images.
27
28
*`shell.sh`: Drop into a `bash` shell in a build container with a snapshot of the current repo code.
28
29
*`release.sh`: Build everything, test it, and (optionally) upload the results to a GCS bucket.
29
30
@@ -81,10 +82,10 @@ If the release script is set to upload to GCS, it'll do the following:
81
82
82
83
These are in no particular order
83
84
84
-
*[] Harmonize with scripts in `hack/`. How much do we support building outside of Docker and these scripts?
85
+
*[X] Harmonize with scripts in `hack/`. How much do we support building outside of Docker and these scripts?
85
86
*[ ] Get a cluster up and running with the Docker images. Perhaps start with a local cluster and move up to a GCE cluster.
86
87
*[ ] Implement (#186)[https://github.com/GoogleCloudPlatform/kubernetes/issues/186]. This will make it easier to develop Kubernetes.
87
-
*[] Deprecate/replace most of the stuff in the hack/
88
+
*[X] Deprecate/replace most of the stuff in the hack/
88
89
*[ ] Create an install script that'll let us do a `curl https://[URL] | bash` to get that tarball down and ensure that other dependencies (cloud SDK?) are installed and configured correctly.
89
90
*[ ] Support/test Windows as a client.
90
91
*[ ] Finish support for the Dockerized runtime. Issue (#19)[https://github.com/GoogleCloudPlatform/kubernetes/issues/19]. A key issue here is to make this fast/light enough that we can use it for development workflows.
0 commit comments