2016-06-03 00:25:58 +00:00
|
|
|
# Copyright 2016 The Kubernetes Authors.
|
2014-06-17 06:16:40 +00:00
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
# This file creates a standard build environment for building Kubernetes
|
2016-02-09 03:21:44 +00:00
|
|
|
FROM gcr.io/google_containers/kube-cross:KUBE_BUILD_IMAGE_CROSS_TAG
|
2014-06-17 06:16:40 +00:00
|
|
|
|
2014-06-17 23:10:57 +00:00
|
|
|
# Mark this as a kube-build container
|
|
|
|
RUN touch /kube-build-image
|
|
|
|
|
2016-05-12 06:55:21 +00:00
|
|
|
# TO run as non-root we sometimes need to rebuild go stdlib packages.
|
|
|
|
RUN chmod -R a+rwx /usr/local/go/pkg
|
|
|
|
|
|
|
|
# The kubernetes source is expected to be mounted here. This will be the base
|
|
|
|
# of operations.
|
|
|
|
ENV HOME /go/src/k8s.io/kubernetes
|
|
|
|
WORKDIR ${HOME}
|
2016-05-31 03:35:16 +00:00
|
|
|
# We have to mkdir the dirs we need, or else Docker will create them when we
|
|
|
|
# mount volumes, and it will create them with root-only permissions. The
|
|
|
|
# explicit chmod of _output is required, but I can't really explain why.
|
|
|
|
RUN mkdir -p ${HOME} ${HOME}/_output \
|
|
|
|
&& chmod -R a+rwx ${HOME} ${HOME}/_output
|
2014-06-17 06:16:40 +00:00
|
|
|
|
2014-09-08 23:55:57 +00:00
|
|
|
# Propagate the git tree version into the build image
|
|
|
|
ADD kube-version-defs /kube-version-defs
|
2016-07-06 21:39:05 +00:00
|
|
|
RUN chmod a+r /kube-version-defs
|
2014-10-22 23:26:59 +00:00
|
|
|
ENV KUBE_GIT_VERSION_FILE /kube-version-defs
|
|
|
|
|
|
|
|
# Make output from the dockerized build go someplace else
|
|
|
|
ENV KUBE_OUTPUT_SUBPATH _output/dockerized
|
2014-09-08 23:55:57 +00:00
|
|
|
|
2014-08-14 23:28:47 +00:00
|
|
|
# Upload Kubernetes source
|
2016-01-12 16:26:24 +00:00
|
|
|
ADD kube-source.tar.gz /go/src/k8s.io/kubernetes/
|